Bonjour,
J'ai un workbook nommé PCA
Il y a une feuille de données et une feuille nommée "PCA Record Sheet"
Dans le haut de la feuille "PCA Record Sheet", il y a un combobox dans lequel le user peut sélectionner un enregistrement de la feuille de données, ça met à jour automatiquement certaines cellules du "PCA Record Sheet"
Ensuite, il y a un bouton "Export" qui doit copier le contenu de la feuille vers un nouveau fichier excel.
Voici mon code VBA
Assez simple non?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Sub ExportToNewFile() Dim sNewSheetName As String Sheets("PCA Record Sheet").Select sNewSheetName = Range("E10").Value & " (" & Range("K10").Value & ")" ActiveSheet.Copy Before:=Sheets("PCA Record Sheet") ActiveSheet.Shapes.Range(Array("cmbRecordList", "btnExportSheet")).Delete ActiveSheet.Name = sNewSheetName Cells.Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False ActiveSheet.Move After:=Workbooks("NewFile.xlsx").Sheets(1) ActiveWorkbook.Save End Sub
Exécuté séparément, chaque ligne fonctionne
Mais! Si je fais F5 sur la macro (ou click sur le bouton), la macro cesse de s'exécuter immédiatement après avoir exécuter cette ligne:
Ensuite, je doit faire F8 sur la macro, donner une valeur à la variable sNewSheetName et déplacer le curseur jusqu'à la ligne suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveSheet.Copy Before:=Sheets("PCA Record Sheet")
Je fais F5 à ce point et le reste du code s'exécute correctement jusqu'à la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveSheet.Shapes.Range(Array("cmbRecordList", "btnExportSheet")).Delete
Encore là, après cette ligne, le code arrête et la ligne suivante n'est pas exécuté, toujours pas de message d'erreur, juste arrêté!
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveSheet.Move After:=Workbooks("NewFile.xlsx").Sheets(1)
Quelqu'un comprends pourquoi
Arrête l'exécution de mon code???
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveSheet.Copy Before:=Sheets("PCA Record Sheet")
J'ai un poste windows XP et j'utilise Excel 2007...
Merci d'avance pour votre aide!
Partager