Boite de dialogue

Bonjour à tous,

Je suis un néophyte en programmation VBA.

Après beaucoup de labeur je suis arrivé à coder une macro pour travailler sur deux classeurs. Ma macro fonctionne comme je le souhaite. Le code n'est peut être pas idéel mais bon.

Je souhaiterais maintenant pouvoir créer différents boites de dialogue pour rendre ces macros plus automatique et donc plus simple d'utilisation pour mes collaborateurs.

Je ne suis pas arrivé à trouver sur les différents forum et aide une réponse à mes questions.

J'aimerais créer des boites de dialogues qui permettent de 1) stopper la macro, 2) permettre une action sur un des classeurs si besoin (vérification d'erreurs possible, ..) 3) poser une question pour poursuivre la séquence.

Merci à tous pour vos conseils et aide.

Bruno

Bonjour Bruno et bienvenu, bonjour le forum,

Sans la macro (au pire) ou le fichier (au mieux), je vois mal comment on va pouvoir t'aider... Puisque tu découvres le forum, prend l'habitude de joindre un fichier exemple pour tes futures demandes...

Bonjour,

Une boite de dialogue arrête l'exécution de la macro. En fonction de la valeur renvoyée, il est possible de sortir de la macro, de sauter des étapes, ou d'exécuter tout le code normalement.

D'ailleurs, il ne faut pas hésiter à scinder le code en plusieurs macro secondaires appelées par une macro principale. Ça pourrait faciliter les choses...

Mais ce qui est sûr, c'est que les boîtes de dialogue ne rendront pas la procédure plus automatique. Au contraire, elle dépendra davantage de l'intervention de l'utilisateur.

Cdlt,

Bonjour le fil, bonjour le forum,

Un MsgBox ferait aussi l'affaire mais, encore une fois, sans le code...

Merci pour ces 1er retours.

Je vais vous faire parvenir mon code, avec les informations pour les boites de dialogues.

Je vous joint mon code, le fichier est assez long .

Il est anonymisé.

8code.docx (22.17 Ko)

Oulala, un fichier word avec 15 pages de code ...

Comme je te conseillais tout à l'heure, il vaut mieux scinder ton code en plusieurs procédures et les appeler (Call Nomprocedure) dans une procédure principale.

Alors, on pourrait se focaliser sur les parties qui t'intéressent.

Et ce serait quand même mieux d'avoir un vrai fichier excel ou au moins un fichier vierge avec le code.

Impossible de vous envoyer mon fichier avec la macro

je peux le faire en mp ?

Je préfère pas passer en MP et je pense qu'il vaut mieux que tout le monde puisse vous aider.

Vous n'êtes pas obligé de poster le fichier original, vous pouvez très bien poster le fichier sans les infos sensibles, sans aucune info, avec juste la partie de code qui nous intéresse ou même poster uniquement, à l'aide des balises </>, la partie de code (sans fichier) rendue anonyme.

EN fait ce n'est pas un problème de confidentialité, j'ai modifié le fichier. Mais un problème

7xxx1.xlsm (220.34 Ko)

de droit sur le site.

bon cette fois c'est parti ??

J'ai 3 modules, je souhaiterais créer une boite de dialogue entre le module 1 et le module 2 lancement du module 2 après clique sur "OK". Il faut faire une contrôles des données avant la poursuite de la procédure.

Entre les modules 2 et 3, il faut aussi une intervention humaine non automatisable.

Je ne peux envoyer le fichier xx2 (confidentiel)

Pour finaliser je souhaiterais arriver a faire une boite de dialogue pour demander ou enregistrer et sous quel nom.

je sais pas si c'est parti ...

Qu'est ce que vous attendez exactement ? Des boites de dialogue pour quoi ? Il faut quel contrôle de données ? Parce qu'honnêtement, il y a des centaines de lignes à l'enregistreur et ça a tendance à dissuader un peu (moi en tout cas).

Bonjour,

Je sais que mon code n'est pas exemplaire, j'ai fais au mieux entre l'enregistreur et des infos trouvé par ci par là.

Je ne souhaite pas le modifier, à priori.

Je souhaiterais créer des boites de dialogues :

- Après le module 1 pour demander à l'utilisateur de faire un contrôle des données. Puis lors de a fermeture de la boite de dialogue (validation par OK par exemple) le module 2 se lance.

- Après le module 2, demande à l'utilisateur d'intervenir, et de même ensuite après validation que le module 3 se lance.

- Une boite d edialogue pour enregistrer les deux fichiers en demandant de préciser le nom de chacun des fichiers et l'emplacement de l'enregistrement.

J'espére avoir été clair.

Bonjour,

Oui, c'est plus clair.

Alors, le petit problème, c'est qu'il va être compliqué de controler les données tant que vous n'aurez pas appuyer sur la boite de dialogue. Et si vous appuyez sur la boite de dialogue, le procédure se relance.

L'idéal, serait de cadrer les controles en amont de la procédure et de forcer la sortie si ce n'est pas bon...

Pour les boites de dialogue fichiers, c'est déjà plus réalisable. Mais... il est peut-être préférable d'automatiser l'affectation du nom en fonction d'une valeur de cellule par exemple. Sinon, il faudra penser à valider la saisie, controler que le fichier n'existe pas...

A la rigueur, la sélection du répertoire si on doit jongler entre différents répertoires mais là aussi, je pense qu'il est possible d'automatiser.

Merci pour ce retour.

Faire une contrôles des données en amont est un peu compliqué, je vais y réfléchir.

L'enregistrement est déjà automatisé en fonction de mes besoins (nom du fichier et emplacement). Mon idée était que cette analyse soit plus conviviale.

Rechercher des sujets similaires à "boite dialogue"