Probleme "Indice n'appartient pas à la selection"
Bonjour tout le monde !Malgrès que j'ai déja eu quelques fois cette erreur je n'arrive pas a mettre le doigt sur le problème, j'aimerais qu'a l'ouverture de mon fichier excel ce dernier soit remplis par un autre fichier excel, or, lorsque j'ouvre mon fichier qui est censé accueillir les données j'ai une erreur disant "l'indice n'appartient pas à la selection"
Mon code :
Option Explicit
Public Source As String
Public Description As String
Public i As Integer
Private Sub Workbook_Open()
Source = "E:\Stage-Projet2\Version 2.0\ClasseurSource.xlsm"
Workbooks.Open (Source)
With Workbooks("ClasseurSource.xlsm").Worksheets("Entry Sheet Header")
'Ouvre le fichier Excel
' Se met à la page
Workbooks("ClasseurSource.xlsm").Activate
Sheets("Entry Sheet Header").Select
'Trouve le numéro de la dernière ligne non vide dans le fichier source
DernLigne = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
'Pour i allant de 3 à la derniere ligne
For i = 3 To DernLigne
'Récupere le texte de la ligne i dans le fichier source
Description = Workbooks("ClasseurSource.xlsm").Worksheets("Entry Sheet Header").Cells(i, 1).Value
'On va dans le classeur de destination et on colle le texte
Workbooks("ClasseurDestination.xlsm").Worksheets("Feuil1").Range("A" & i).Value = Description
Next i
End With
End SubEt j'ai essayer sans le with mais l'erreur a juste changé de Ligne :
Option Explicit
'Déclaration des variable
Public i As Integer
Public DernLigne As Integer
Public Source As String
Private Sub Workbook_Open()
Source = "E:\Stage-Projet2\Version 2.0\FichierSource.xlsm"
Workbooks.Open (Source)
'Ouvre le fichier Excel
' Se met à la page
Workbooks("FichierSource.xlsm").Activate
Sheets("Entry Sheet Header").Select
'Trouve le numéro de la dernière ligne non vide dans le fichier source
DernLigne = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
'Pour i allant de 3 à la derniere ligne
For i = 3 To DernLigne
'Récupere la description de la ligne i dans ZMM01
Description = Workbooks("FichierSource.xlsm").Worksheets("Entry Sheet Header").Cells(i, 1).Value
'On va dans Saisie Acode et on colle la description à la même ligne dans saisie Acode
Workbooks("FichierDestination.xlsm").Worksheets("Feuil1").Range("A" & i).Value = Description
Next i
End SubBonjour,
Essaie ainsi :
Option Explicit
Private Sub Workbook_Open()
Dim wb As Workbook
Dim DernLigne As Long, I As Long
Dim Source As String
Application.ScreenUpdating = False
Set wb = ThisWorkbook 'ClasseurDestination.xlsm?
Source = "E:\Stage-Projet2\Version 2.0\FichierSource.xlsm"
Workbooks.Open (Source)
With ActiveWorkbook.Worksheets("Entry Sheet Header")
DernLigne = .Cells(Rows.Count, 1).End(xlUp).Row
For I = 3 To DernLigne
wb.Worksheets("Feuil1").Cells(I, 1).Value = .Cells(I, 1).Value
Next I
End With
Set wb = Nothing
End SubParfait ça marche !
Bonjour Léo, bonjour le forum,
Cette erreur est courante. Dans la majorité des cas elle est due à différence entre le nom exact d'un onglet (ou du classeur) et le nom utilisé dans le code. Vérifie lettre par lettre. Vérifie aussi s'il n'y a pas un espace avant ou après... Exécute le code pas à pas (avec la touche F8) et regarde quelle est la ligne qui plante...
Ooops, en retard moi. Bonjour Jean-Éric...