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 :

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
Voici le message d'erreur :
"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 !!!