Bonjour tout le monde,
Je sollicite votre aide pour un problème que je rencontre dans mon code VBA.
Mon objectif est de transférer des données contenues dans plusieurs feuilles de mon classeur Excel (qui ont toutes la même forme) vers un autre classeur Excel. Lorsque je lance mon code, toutes les données sont correctement transférées. Le problème survient lorsque toutes les feuilles du classeur sont passées à la "moulinette". Un message d'erreur apparait car mon code ne détecte pas correctement qu'il n'y a plus de feuilles dans le classeur. Voici le bout de code qui pose problème :
Voici le message d'erreur :
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
21
22
23
24
25 Set WBfirst = ActiveWorkbook ' Ouverture du fichier Excel. Il s'appelle New 'Workbooks.Open ("D:\Documents and Settings\...\New.xls") If MsgBox("Après avoir cliquer sur Oui, veuillez selectionner le fichier Excel New.xls; sinon cliquer sur non.", vbYesNo, "Recherche du fichier New") = vbYes Then Nom_Fichier = Application.GetOpenFilename("Fichiers Excel (*.xls), *.xls") If Nom_Fichier <> False Then Workbooks.Open Filename:=Nom_Fichier End If Else Exit Sub End If Set WBsecond = ActiveWorkbook WBfirst.Activate For Each sht In Worksheets Debug.Print sht.Name If sht.Name <> "Telecommande" Then sht.Select 'Sélection de old WBfirst.Activate
"Erreur d’exécution '1004' :
La méthode Select de la classe Worksheet a échoué."
Avez vous déjà rencontré ce problème ? Est-ce que cela vient de ma boucle each sheet ? Connaissez vous une solution à apporter ?
Merci d'avance pour vos réponses !!!
Partager