VBA - Excel 2003 - Mode pas à pas

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
 
G

Guest

Guest
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+
 

jd020674

XLDnaute Nouveau
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
 
G

Guest

Guest
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+
 

Statistiques des forums

Discussions
312 201
Messages
2 086 172
Membres
103 152
dernier inscrit
Karibu