VBA - Excel 2003 - Mode pas à pas

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jd020674

XLDnaute Nouveau
Bonjour,

J'ai une petite Marco Excel 2003 qui fonctionne si je la lance en mode pas à pas mais qui ne fonctionne pas en lancement normal. Enfin, j'ai une instruction qui sur laquelle la macro passe mais ne fait rien.

Selection.Copy
Workbooks.Add (ThisWorkbook.Path & "\Modèle Excel\Agence.xls")
Sheets("Feuil1").Activate
ActiveSheet.Cells(1, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False

ActiveSheet.Cells.Select
Selection.ColumnWidth = 70
Cells.EntireRow.AutoFit
Cells.EntireColumn.AutoFit
Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
'Execute la macro "creation_onglets" dans les fichiers agence.xls
Application.Run "'" & ActiveWorkbook.Name & "'!creation_onglets"

Jusque là, tout va bien. En pas à pas, l'instruction suivante est bien exécutée. En mode normal, elle est exécutée mais le module n'est pas supprimée
'Supprime le "Module1" des fichiers agence.xls
Set Wk = Workbooks(ActiveWorkbook.Name)
Wk.VBProject.VBComponents.Remove Wk.VBProject.VBComponents.Item(2)
Set Wk = Nothing

---
'Enregistre le fichier
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\Fichiers\" & Nom
ActiveWorkbook.Close

J'ai tourné le problème dans tous les sens, cherché sur les forums mais rien n'y fait...

Auriez vous une idée à me soumettre SVP.

Merci de votre aide

Jacques
 
Re : VBA - Excel 2003 - Mode pas à pas

Bonjour,

Bien que sans l'exemple en 'main' je ne puisse être certain, il me semble que tu devrais remplacer, ActiveWorkbook.Name dans :
Code:
Set Wk = Workbooks(ActiveWorkbook.Name)
par le nom du bon classeur (Agence.xls) , car je suppose qu'en mode Pas à Pas tu actives le classeur qui contient la macro et donc ActiveWorkBook.name retourne le nom de ce dernier! Alors qu'en mode normal, c'est lui le classeur actif.

Conclusion : toujours se méfier des ActiveWorkBook et autre Active. quelque chose, même activecell dans les macros.

A+
 
Re : VBA - Excel 2003 - Mode pas à pas

Bonjour,

Merci pour ta réponse, j'ai fais le test. Cela ne fonctionne pas mieux. Pour autant, je note ta remarque sur les "Active" et je la garde au chaud si toutefois je tombais sur un problème de ce type.

Merci

Jack
 
Re : VBA - Excel 2003 - Mode pas à pas

Re,

As-tu vérifier quel classeur est référencé par ActiveWorkBook dans toutes les lignes où ActiveworkBook apparaît.
Mettre juste avant: debug.print ActiveWorkBook.name et ouvrir la fenêtre exécution (CTRL+G)

sinon je ne vois pas
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
11
Affichages
780
  • Résolu(e)
XL pour MAC Target
Réponses
9
Affichages
2 K
Réponses
0
Affichages
680
Réponses
3
Affichages
897
Réponses
6
Affichages
1 K
Réponses
0
Affichages
1 K
Retour