Bonjour !
J'ai un petit souci assez urgent à résoudre...
J'ai un bon niveau en VBA Excel, mais j'ai un de mes programmes qui s'exécute d'une façon que je ne comprends pas.
Contexte :
J'ai un classeur qui, pour se remplir, doit faire appel à un autre classeur.
Donc au début de ma macro, je déclare et j'affecte mes deux classeurs :
Le début de mon programme se présente ensuite de cette façon :
Suivent beaucoup d'instructions, puis je termine mon programme par :
Problème :
Avant de lancer mon programme, j'ouvre le classeur Macro.
Ensuite, si je lance l'exécution directement, il ne se passe rien, à part que le classeur Macro est fermé à la fin ; mais le corps de mon programme ne semble pas s'exécuter.
Avec une exécution en pas à pas, il se passe une chose étrange : lorsque j'exécute la ligne
qui est au début de mon code, au lieu de rentrer dans le While l'exécution saute directement à la ligne de fermeture du classeur Macro, puis il sort. Il ne passe même pas par le Wend.
J'ai vérifié, la cellule "A" & i n'est pas vide.
Je ne comprends pas
Le programme réagit de la même façon si je lui dis d'ouvrir lui même l'autre classeur
(Set Macro = ThisWorkbook.Path & "\Macro débitance 3.xls"
Pouvez-vous m'aider ?
Merci d'avance.
J'ai un petit souci assez urgent à résoudre...
J'ai un bon niveau en VBA Excel, mais j'ai un de mes programmes qui s'exécute d'une façon que je ne comprends pas.
Contexte :
J'ai un classeur qui, pour se remplir, doit faire appel à un autre classeur.
Donc au début de ma macro, je déclare et j'affecte mes deux classeurs :
Code:
Dim Actif As Workbook 'Mon classeur
DimMacro As Workbook 'L'autre classeur
Set Actif = ThisWorkbook
Set Macro = Workbooks("Macro débitance 3.xls")
Le début de mon programme se présente ensuite de cette façon :
Code:
i = 4
While Range("A" & i) <> ""
Actif.Activate
Qusine = Cells(i, 2)
...
Suivent beaucoup d'instructions, puis je termine mon programme par :
Code:
...
i = i + 1
Wend
Macro.Close False
End Sub
Problème :
Avant de lancer mon programme, j'ouvre le classeur Macro.
Ensuite, si je lance l'exécution directement, il ne se passe rien, à part que le classeur Macro est fermé à la fin ; mais le corps de mon programme ne semble pas s'exécuter.
Avec une exécution en pas à pas, il se passe une chose étrange : lorsque j'exécute la ligne
Code:
While Range("A" & i) <> ""
J'ai vérifié, la cellule "A" & i n'est pas vide.
Je ne comprends pas
Le programme réagit de la même façon si je lui dis d'ouvrir lui même l'autre classeur
(Set Macro = ThisWorkbook.Path & "\Macro débitance 3.xls"
Pouvez-vous m'aider ?
Merci d'avance.