> Tous les forums > Forum Bureautique
 Place du curseur dans macroSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
dlxpat
  Posté le 25/07/2014 @ 19:40 
Aller en bas de la page 
Astucien

Bonjour à tous, dans le fichier joint (jeu de définition de mots croisés), j'ai deux macros : indice et solution. Le but consiste à esssayer de trouver les mots correspondants aux définitions. Pour ce faire on dispose d'une aide avec Indice et de la solution, en désespoir de cause ! Ma question : pour afficher l'indice et/ou la solution, j'ai été obligé (au vu mes connaissances !), de repasser par un msgbox pour afficher le numéro de ligne où on veut trouver la réponse . Est-il possible de faire en sorte que dans la macro "atteindre" VBA comprenne automatiquement la cellule concernée par la recherche de la solution. Exemple : si je veux trouver la réponse à la définition de la ligne 5, je n'ai pas à retaper 5 dans le msgbox, et que la macro soit lancée automatiquement à partir de la cellule D5. Suis-je assez clair.

Merci à tous d'avance pour vos réponses et pour les énormes progrès (si, si !!!)que je fais grâce à vous !

http://cjoint.com/?DGztCRi4APF

Publicité
ferrand
 Posté le 25/07/2014 à 21:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Un peu tortueux . Bon ! D'abord il me semble qut tu devrais abandonner les auto_open et auto_close qui accompagnaient Excel 5 si mes souvenirs sont bons et qui ont assez vécus, au profit des évènements de classeur (module ThisWorkbook).

Ensuite tu peux gérer les sélections de l'utilisateur au moyen d'un simple évènement de feuille de calcul (SelectionChange) : si ce dernier sélectionne en D (colonne proposition) une cellule pour laquelle une définition existe en A, tu lui fais stocker le numéro de ligne dans une variable module (module de Feuil1), si mal positionné, variable à 0.

Enfin tu changes tes boutons de formulaire par des activeX (qui te permettent au stade actuel d'avoir tout ton code (ou presque) dans le module de la feuille concernée. Au clic, si la sélection est bonne, les boutons affichent la réponse prévue, sinon un message lui demandant de se repositionner.

Et tu peux te passer de cheminements incertains dans d'autres colonnes masquées !

Bonne continuation pour améliorer les scénarios...

http://cjoint.com/?DGzvyeMuGHP

dlxpat
 Posté le 25/07/2014 à 23:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Une fois de plus, merci Ferrand ! ta réponse est en tous points ce que j'attendais, même si je ne comprend rien (désolé !) à ton message. Je n'ai pas assez de connaissances informatiques pour comprendre la différence entre ce que j'ai fait et ce que tu me proposes. Différence entre bouton de contrôle et ActiveX et surtout comment faire pour un créer active X, pourquoi ne pas utiliser auto_open et close et par quoi le remplacer..........Bref trop de questions à poser. Excel évolue trop vite et beaucoup plus vite que moi ! Merci pour ta réponse. Pour être très sincère, j'étais super content de ce que j'avais fait et je crains malheureusement ne jamais pouvoir plus évoluer !

ferrand
 Posté le 26/07/2014 à 02:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

A partir d'Excel 2007, tu trouves les contrôles groupés dans l'onglet Développeur, sous la commande Insérer, au même endroit donc les contrôles de formulaires (qui font partie des formes appartenant à Excel) et les activeX (qui sont des objets Microsoft.Forms importés dans Excel).

Dans les versions antérieures, tu trouves les contrôles de formulaires dans la barre d'outils Formulaire et les activeX dans la barre d'outils Boîte à outils-Contrôles.

Il ne fonctionnent pas de la même façon et chaque catégorie présente des avantages et des inconvénients selon l'utilisation et le type de contrôle...

Par exemple, dans ton classeur , en utilisant des boutons de formulaire, j'aurais dû placer la variable dans un module standard et la déclarer comme publique pour que la procédure évènementielle de la feuille puisse y affecter des valeurs, de même que le macro attachées aux boutons auraient également dues être placées dans un module standard. Là tout peut être concentré dans le même module de feuille parce que les macros lancées par les boutons activeX sont également des procédures évènementielles répondant au clic...

Par contre, avec une multitude de boutons dispersés sur plusieurs feuilles et auxquels on peut faire lancer une même macro en diversifiant les actions qu'elle accomplit selon le bouton qui l'a appelée, il devient intéressant de préférer des boutons de formulaires (ou d'autres formes) auxquels on peut attacher une même macro (au lieu d'en faire une dizaine ou plus semblables). Par exemple des déplacements d'une feuille à l'autre, ou des masquage-démasquage... la procédure est identique, ne change que la destination ou l'objet manipulé : une seule macro peut tout faire si identifiant le bouton actionné cela détermine simultanément le mouvement à opérer.

Bon week-end

dlxpat
 Posté le 26/07/2014 à 09:27 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Merci de ces explications qui aident à progresser ! c'est vraiment sympa d'être aussi patient et disponible. Je n'ai jamais eu de formation Excel, j'apprend tout seul dans mon coin grâce à des gens comme toi ! mais c'est très dur de comprendre ce langage très particulier lié à l'informatique !

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
17,45 €SSD PNY CS900 120 Go à 17,45 €
Valable jusqu'au 28 Février

Cdiscount fait une promotion sur le SSD PNY CS900 120 Go qui passe à 17,45 €. Ce SSD offre des vitesses d'écriture de 515 Mo/s et de lecture à 550 Mo/s. Il est garanti 3 ans. De quoi donner une seconde jeunesse à un ordinateur un peu ancien.


> Voir l'offre
437,31 €Processeur AMD Ryzen 7 5800X à 437,31 € livré
Valable jusqu'au 28 Février

Amazon Allemagne fait une promotion sur le tout nouveau processeur AMD Ryzen 7 5800X qui passe à 452,77 € (avec la TVA ajustée). Comptez 4,71 € pour la livraison en France soit un total de 457,48 € livré. On le trouve ailleurs (quand il est disponible !) autour de 520 €. 

Vous pouvez utiliser votre compte Amazon FR sur Amazon DE et il n'y a pas de douane.


> Voir l'offre
109,90 €Alimentation PC modulaire Gigabyte P850GM (550W, 80+Gold) à 109,90 €
Valable jusqu'au 01 Mars

RueDuCommerce fait une promotion sur l'alimentation PC modulaire Gigabyte P850GM (850W, 80+Gold) qui passe à 109,90 € au lieu de 129,90 € ailleurs. Installez uniquement les câbles dont vous avez besoin pour réduire l’encombrement, augmenter le débit d’air et améliorer les performances thermiques du châssis.  Elle bénéficie d’un ventilateur à roulement hydraulique intelligent.


> Voir l'offre

Sujets relatifs
2 pages par feuille dans macro excel
Creation d' une boucle macro dans fichier EXCEL pour impression
macro afficher masquer lignes tableau dans word 2010
Ecrir par macro dans des cellules différents
[chemin relatif dans une macro]
se positionner avec une macro dans une cellule précise
Bouton macro dans feuille Excel 2010
Le curseur et les fonctions de base dans Word 2013
Macro introuvable / Erreur de compilation dans le module caché
Création d'une macro dans Word
Plus de sujets relatifs à Place du curseur dans macro
 > Tous les forums > Forum Bureautique