Erreur d'exécution "9" :L'indice n'appartient pas à la séléction [Fermé]

Signaler
Messages postés
1
Date d'inscription
mardi 29 août 2017
Statut
Membre
Dernière intervention
29 août 2017
-
Messages postés
15856
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 avril 2021
-
Bonjour,
j'ai un problème que je dois régler en urgence !
quand je clique sur un bouton dans la feuille DocumentXX , une erreur est générée : Erreur d'exécution "9" : L'indice n'appartient pas à la

voici le code dont la partie qui contient le bug apparemment :
Sub Alimentation_xlsx()
    
' Préparation de la colonne - TEXTE
    Columns("A:A").Select
    Selection.NumberFormat = "@"
    
' Copie des données
    Fich_xlsx = Sheets("Paramètres").Range("C5") & ".xlsx"
    RepFich_xlsx = ThisWorkbook.Path & "\" & Fich_xlsx
   
    Workbooks.Open Filename:=RepFich_xlsx

 ->   Windows(DocumentXX).Activate   ( la ligne de l'erreur)
  
  Sheets(FeuilTrav).Select
    Plagex = "A1:A" & DernLigne
    Range(Plagex).Select
    Selection.Copy
    Windows(Fich_xlsx).Activate
    ActiveSheet.Paste
End Sub


EDIT : Ajout des balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45


et parfois pour la même ligne, l'erreur que je reçois c'est incompatibilité de type !!!!!

Merci d'avance pour votre aide !
A voir également:

1 réponse

Messages postés
15856
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 avril 2021
695
Bonsoir

Erreur d'exécution "9" :L'indice n'appartient pas à la séléction
signifie que tu essayes un "numéro d'enregistrement" (l'indice) est en dehors de ceux possibles.
Par exemple dans un tableau de 1 à 10, les indices 11 ou 0 n'existent pas.

c'est incompatibilité de type
veut dire, que le type de données dans la variable ne peut pas faire l'action que tu veux.
Toujours dans l'exemple du tableau, il n'acceptera pas du texte ou un booléen, seulement un entier.
Pour éviter ça, commence par mettre Option Explicit dans un module, (voir ici).

Donc à cette ligne
 Windows(DocumentXX).Activate
(je ne sais même pas à quoi sert Windows, je ne suis pas très bon en VBA) la variable DocumentXX contient un numéro (ou un nom?) de Window qui n'existe pas quand tu as la 1ere erreur, et par un exemple un nombre décimal quand tu as la seconde.