Vba sous excell
Fermé
christian
-
23 nov. 2008 à 17:46
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 23 nov. 2008 à 19:00
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 23 nov. 2008 à 19:00
Bonjour,
J'ai automatise beaucoup de travail dans des tableaux excel par des macros en VBA.
je prépare mon tableau pour l'exercice comptable suivant en renommant mon classeur 2008 en 2009, mais mes macros font toujours référence a mon ancien classeur
comment faire pour resoudre ce pbm
merci d'avance
J'ai automatise beaucoup de travail dans des tableaux excel par des macros en VBA.
je prépare mon tableau pour l'exercice comptable suivant en renommant mon classeur 2008 en 2009, mais mes macros font toujours référence a mon ancien classeur
comment faire pour resoudre ce pbm
merci d'avance
2 réponses
Bonjour,
Sur le principe, c'est pas compliqué !
Dans ton code Vba tu dois remplacer chaque référence à ton ancien classeur par ActiveWorkbook.Name
Ainsi ton code fera référence au classeur actif. Par contre si plusieurs classeurs sont ouverts au moment de l'exécution, ton programme doit être capable de sélectionner le bon classeur. Sinon, tu décides que ton classeur doit être utilisé seul !!!
Bonne soirée,
Sylvlau.
Sur le principe, c'est pas compliqué !
Dans ton code Vba tu dois remplacer chaque référence à ton ancien classeur par ActiveWorkbook.Name
Ainsi ton code fera référence au classeur actif. Par contre si plusieurs classeurs sont ouverts au moment de l'exécution, ton programme doit être capable de sélectionner le bon classeur. Sinon, tu décides que ton classeur doit être utilisé seul !!!
Bonne soirée,
Sylvlau.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 256
23 nov. 2008 à 19:00
23 nov. 2008 à 19:00
Bonjour,
ou bien tu définis tout au début du code les classeurs sur lesquels tu vas travailler par :
Dim wb1 As Workbook
Set wb1 = Workbooks("2008.xls")
et dans le code tu remplaces toutes les références au classeur Workbooks("2008.xls") par wb1 avec 'édition / remplacer / projet en cours'.
Les autres années tu n'auras qu'une variable à changer : wb1
eric
ou bien tu définis tout au début du code les classeurs sur lesquels tu vas travailler par :
Dim wb1 As Workbook
Set wb1 = Workbooks("2008.xls")
et dans le code tu remplaces toutes les références au classeur Workbooks("2008.xls") par wb1 avec 'édition / remplacer / projet en cours'.
Les autres années tu n'auras qu'une variable à changer : wb1
eric