l'indice n'appartient pas a la selection

thyuki

XLDnaute Nouveau
Bonjour a tous,

je dois développer une macro qui permet a l'utilisateur d'entrer le chemin d'accès à un dossier, dans ce dossier, il existe deux excel.
Je dois créer un troisième excel qui copie la page d'un des excel et l'une des pages de l'autre.
ensuite je récupère les numéros de la première colonne d'une des pages, je les cherche dans l'autre page et je copie les lignes complètes de la première page a la suite de celles trouvé dans l'autre.

malheureusement j'ai une erreur au début de mon code

Code:
Sub Test_traitement()
    Dim resultat As String
    Dim Fichier_Cto As String, Fichier_A As String
    Dim Cto As String, A As String
        
    'demande à l'utilisateur de saisir le chemin d'accès pour trouver les fichiers a traiter
    resultat = InputBox("Entrer le chemin d'accès au dossier contenant les fichiers que vous voulez ouvrir", "Titre", "chemin d'accès")
    
    Cto = Dir(resultat + "\CTO*.xls")
    A = Dir(resultat + "\A*.xls")
    Fichier_Cto = resultat + "\" + Cto                                  'donne le chemin d'accès au fichier cto*.xls
    Fichier_A = resultat + "\" + A                              'donne le chemin d'accès au fichier a*.xls
      
    Set objFSO = CreateObject("Scripting.FileSystemObject")             'test de l'existance du fichier
    If objFSO.FileExists(resultat + "\bilan a.xls") Then            'ouverture du classeur bilan
        Workbooks.Open Filename:=(resultat + "\bilan a.xls")
    Else
        Workbooks.Add.SaveAs (resultat + "\bilan a.xls")            'création et sauvegarde d'un classeur bilan
        Worksheets.Add.Name = "Cto"
    End If
  
    Workbooks.Open Filename:=Fichier_Cto                                'ouvre le premier classeur
    Workbooks.Open Filename:=Fichier_A                              'ouvre le deuxième classeur
    'ActiveWorkbook.Worksheets("Check A").Activate
    Workbooks(Cto).Worksheets("Check A").Copy before:=Workbooks("bilan a.xls").Worksheets(Cto)
    'copie la feuille a du classeur CTO*.xls
    'ActiveWorkbook.Worksheets(1).Activate
    Workbooks(A).Worksheets(1).Copy After:=Workbooks("bilan a.xls").Worksheets(Cto)
    'copie de la feuille du tableur A*.xls dans le bilan
    
End Sub


et donc il me sort une erreur d'execution '9'
L'indice n'appartient pas à la sélection

si quelqu'un peu m'aider je suis preneur
 

CHALET53

XLDnaute Barbatruc
Re : l'indice n'appartient pas a la selection

bonjour,

Une piste à explorer :

Si tu as plusieurs fichiers ouverts, il se pourrait qu'au moment de l'exécution de la ligne de code incriminé, ce n'est plus le bon fichier qui est actif (penser à activer le bon fichier avant l'instruction concernée (windows("nom du fichier").activate
J'ai remarqué ce phénomène, lorsque j'avais plusieurs fichiers ouverts
a+
 

Pierrot93

XLDnaute Barbatruc
Re : l'indice n'appartient pas a la selection

Bonjour,

quelle est la ligne de code en erreur (en jaune lors du debogage) ? Vérifie peut être le nom du classeur / feuille si il correspond à un nom d'objet valide....

bon après midi
@+

Edition : bonsois Chalet
 

thyuki

XLDnaute Nouveau
Re : l'indice n'appartient pas a la selection

Erreur résolue :

il me manquait des guillemets pour le nom de la worksheets, je pensais pas qu'elles étaient nécessaire. désolé pour le dérangement

Workbooks(Cto).Worksheets("Check A").Copy before:=Workbooks("bilan a.xls").Worksheets("Cto")

Workbooks(A).Worksheets(1).Copy After:=Workbooks("bilan a.xls").Worksheets("Cto")
 

Discussions similaires

Statistiques des forums

Discussions
312 677
Messages
2 090 823
Membres
104 677
dernier inscrit
soufiane12