| ||||||||
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é | ||||||||
![]() ![]() | Bonsoir, Un peu tortueux 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... | |||||||
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 ! | |||||||
![]() ![]() | 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.
| |||||||
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 ! | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | |||||||||||||||
|