|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité régulier
![]() Inscription : décembre 2010 Messages : 35 ![]() |
Bonjour à tous,
Je travaille avec Excel 2007 et je suis sous Windows 7. Je croyais bien que Jérome m'avait tiré d'affaire il y a quelques jours pour ce même sujet ... Même s'il m'a été d'un grand secours pour réussir la programmation de mon "bout de code", j'ai cru trop vite que tout était gagné. Ce qui a fonctionné au départ ne fonctionne plus aujourd'hui. A force de tâtonnements et d'essais, j'ai trouvé ce qui se passe, mais ... POURQUOI ? Voilà mon problème. Je résume la situation pour les "nouveaux". J'ai un classeur dans lequel j'ai crée des macros (utilisant des UserForms, des boutons de commande intégrés etc.). Dans ce classeur j'ai une petite trentaine de feuilles dont une se nomme : "Facture - Devis en cours". C'est sur cette feuille qu'apparaissent les Factures ou les Devis. A partir de cette feuille, Factures et Devis sont enregistrés, puis la feuille est "effacée" afin de recevoir la Facture ou Devis suivant. Une des fonctions programmée permet de rouvrir un fichier "Facture - Devis en cours" déjà enregistrer afin de pouvoir le modifier. Le module qui commande ceci fait deux choses : 1 - Ouverture d'un fichier à choisir dans les répertoires. 2 - Placement sur cette feuille ouverte de deux boutons l'un pour "Enregistrer", l'autre pour "Imprimer". Tout ceci fonctionne très bien. Voici le code : Code :
Aujourd'hui, j'ai défini ce qui se produit : Lorsque j'ouvre pour la première fois un fichier (par exemple : "26-11-2011--41-TOTO.xls") celui-ci s'ouvre, les boutons s'affichent et j'ai un module qui se crée (que je peux voir dans l'éditeur VBA). Le code de se module est (me semble-t-il) correct. Voici ce code : Code :
a - Général b - Enregistrer c - Imprimer d - Worksheet Dans cette situation, si je reviens vers la feuille que j'ai rouverte et si je click sur les boutons Imprimer et Enregistrer, tout fonctionne normalement. MAIS. Si par la suite j'ouvre à nouveau ce même classeur, tout se déroule normalement mais je n'ai plus aucune action si je click sur les boutons de la feuille (En revanche, depuis la fenêtre de code du module, une pression sur F5, provoque sans problème le lancement de l'impression ou de l'enregistrement. J'ai alors constaté que dans la "Zone de liste Objet", la liste comprenait alors deux lignes supplémentaires : a - Général b - CommandButton1 c - CommandButton2 d - Enregistrer e - Imprimer d - Worksheet J'ai également constaté que si, manuellement, dans mon module de code, je remplaçais la ligne : Sub Enregistrer_click() par Sub CommanButton1_click() et Sub Imprimer_click() par Sub CommandButton2_click() Et bien les "fameux boutons" de la feuille ouverte fonctionnaient correctement. Si, bien sûr je rouvre une troisième fois le même fichier, la "Zone de liste objet" comporte deux lignes de plus portant les noms de CommandButton3 et 4 ... Je pense donc que c'est lors du réenregistrement du fichier qu'il se passe "quelque chose ...". Avez-vous une idée ? Où est mon erreur ? Par avance merci pour votre aide. Danad38 |
||||
|
|
00
|
|
|
#2 | ||
|
Membre régulier
![]() Inscription : août 2010 Messages : 55 ![]() |
Bonjour,
Essayer de rajouter ça dans le code : Code :
ctac |
||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : décembre 2010 Messages : 35 ![]() |
Bonjour ctac,
Tout d'abord excuse moi pour cette réponse qui a tardé un peu, j'étais absent ce dimanche. En ce qui concerne mon problème j'ai envie, immédiatement, de dire BRAVO et MERCI ! En effet tout semble fonctionner pour le mieux et je n'ai plus cet "empilement de créations de CommandButton1 dans la Zone de Liste Objet. Cependant, j'avais crié victoire un peu vite après l'aide indéniable de Jérome. Je vais donc poursuivre un peu mes tests avant de placer cette discussion comme résolue. En attendant, merci à toi et à tous ceux qui venez en aide aux "novices" comme moi. Danad38 |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : décembre 2010 Messages : 35 ![]() |
Bonjour à tous,
Comme promis, je vais pouvoir clore ce fil de discussion. En effet, la procédure proposée fonctionne parfaitement dans tous les essais que j'ai pu réaliser. Je vais donc placer (j'espère définitivement) ce sujet comme "Résolu". Merci encore à vous tous. Danad38 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com