L'indice n'appartient pas à la sélection

Bonjour,

Etant débutant dans VBA, j'aurai besoin de votre précieuse aide afin de régler un problème surement simple à résoudre pour la plupart d'entre vous.

Je n'arrive pas à comprendre ce qui ne va pas dans mon code, quand j'essaye de le mettre en marche il y a le message d'erreur "l'indice n'appartient pas à la sélection" qui apparaît.

le code que j'essaye de faire tourner est le suivant :

Sub ETAT_FI()

Dim wb As Workbook

Set wb = Workbooks.Open("C:\Users\YMENDILI\Desktop\PROCESS FI\extraction.xlsx")

Set extraction = Workbooks("extraction.xlsx")

Set extra = Workbooks("extraction.xlsx").Worksheets("extra")

Set MACRO_ETAT_FI = Workbooks("MACRO_ETAT_FI.xlsm")

Set Tableau = Worksheets("Tableau")

extra.Activate

Tableau.Activate

extra.Columns("A:EF").Copy MACRO_ETAT_FI.Sheets("Tableau").Columns(1)

Sheets("Gestion").Select

extraction.Close SaveChanges:=False

End Sub

Je vous remercie par avance.

AMAYAS

Bonjour Amayas, bonjour le forum,

Essaie comme ça :

Sub ETAT_FI()
Dim wb As Workbook
Dim MACRO_ETAT_FI As Workbook
Dim extra As Worksheet
Dim tableau As Worksheet

Set wb = Workbooks.Open("C:\Users\YMENDILI\Desktop\PROCESS FI\extraction.xlsx")
Set extra = wb.Worksheets("extra")
Set MACRO_ETAT_FI = Workbooks("MACRO_ETAT_FI.xlsm")
Set tableau = MACRO_ETAT_FI.Worksheets("Tableau")
extra.Columns("A:EF").Copy tableau.Range("A1")
MACRO_ETAT_FI.Activate
Sheets("Gestion").Select
wb.Close SaveChanges:=False
End Sub

Salut le Fil

Tout d’abords Je vois que toutes tes variables ne sont pas déclarées...

Donc dans un premier temps tu vas dans les options [Outils] [Options...] [Éditeur] et tu coches Déclaration des variables obligatoires, cela t'éviteras pas pas de problèmes avant l’exécution de ton code.

Ensuite il faut prendre l'habitude de compiler ton code avant de l’exécuter [Débogage] [Compiler VBA Project].

Pour en revenir à ton problème [L'indice n'appartiens pas à la sélection] doit venir du fait que tu charge un feuille, un classeur qui n'existe pas donc vérifie les noms de tes classeurs et feuilles.

Tu cherche à faire quoi ici...

extra.Columns("A:EF").Copy MACRO_ETAT_FI.Sheets("Tableau").Columns(1)

Si tu veux sélectionner les colonnes "A" à "F" tu fais

extra.Columns("A:F").Copy MACRO_ETAT_FI.Sheets("Tableau").Columns(1)

Si tu veux sélectionner les colonnes "A"; "E" et "F"

extra.Columns("A:A, E:E, F:F").Copy MACRO_ETAT_FI.Sheets("Tableau").Columns(1)
'on ne se dispèrce pas dans le code, et on prends les mêmes notations partout.
extra.Columns("A:EF").Copy MACRO_ETAT_FI.Sheets("Tableau").Columns("A")

En espérant avoir pu t'aider.

Rechercher des sujets similaires à "indice appartient pas selection"