l'indice n'appartient pas a la selection

  • Initiateur de la discussion Initiateur de la discussion thyuki
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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+
 
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
 
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")
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
589
Retour