Bonjour, je voudrais pouvoir utiliser les éléments d'un tableau qui contient les mon de mes feuilles pour faire tournée une application. Voici le code:
Sub DicoVarIntParam()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim DicoVarIntParam(2) As String 'Définit la taille du tableau et le type de données.
Dim i As Integer
Dim Temp As String
Dim Feuil As String
Dim Ligne As Long
'==========Liste de feuille à exploiter====================
DicoVarIntParam(0) = """Dico"""
DicoVarIntParam(1) = """Variable_Interne"""
DicoVarIntParam(2) = """Parametres"""
'==================================================
For i = 0 To 2
Feuil = DicoVarIntParam(i)
MsgBox Feuil 'Pour voir le nom de la feuille traitée
Temp = Dir(ActiveWorkbook.Path & "\*.xls") 'ouvre les fichiers xls du reperoire dans le quel se trouvre Recap.xls
Application.DisplayAlerts = False 'désactive les éventuells msg d'alerte
Do While Temp <> ""
If Temp <> "Recap.xls" Then 'tant qu'il y'a un fichier xls faire
Workbooks.Open ActiveWorkbook.Path & "\" & Temp 'ouvrire le fichier
Workbooks(Temp).Sheets(Feuil).Range("A1").CurrentRegion.Copy 'copier le contenue de la page Feuil
Workbooks("Recap.xls").Sheets(i + 1).Activate 'se placler dans la pare i+1 du fichier Recap
Ligne = Sheets(i + 1).Range("A65536").End(xlUp).Row + 1 'On sauter la première ligne
Range("A" & CStr(Ligne)).Select "???"
ActiveSheet.Paste " on cole la copie faite plus haut"
Workbooks(Temp).Close 'on ferme le fichier temp
End If
Temp = Dir
Loop
Range("A1").Select
Application.DisplayAlerts = True
Next i
Application.Calculation = xlAutomatic
End Sub
L'exécution me renvoie un message d'erreur (L'indice n'appartient pas à la selection et ce concerne la ligne de code:
Workbooks(Temp).Sheets(Feuil).Range("A1").CurrentRegion.Copy 'copier le contenue de la page Feuil
Lorsque j'exécute le code trois fois en changeant manuellement les lignes
Workbooks(Temp).Sheets("Dico").Range("A1").CurrentRegion.Copy 'copier le contenue de la page Dico
Workbooks("Recap.xls").Sheets(1).Activate 'selectionné la feuille 1 du fichier Recap
Ligne = Sheets(1).Range("A65536").End(xlUp).Row + 1 'sauter la 1er ligne
il fonctionne.
Mon problème se situe au niveau de l'exploitation du contenu du tableau
Merci de m'aider à trouver une solution à ce problème
Sub DicoVarIntParam()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim DicoVarIntParam(2) As String 'Définit la taille du tableau et le type de données.
Dim i As Integer
Dim Temp As String
Dim Feuil As String
Dim Ligne As Long
'==========Liste de feuille à exploiter====================
DicoVarIntParam(0) = """Dico"""
DicoVarIntParam(1) = """Variable_Interne"""
DicoVarIntParam(2) = """Parametres"""
'==================================================
For i = 0 To 2
Feuil = DicoVarIntParam(i)
MsgBox Feuil 'Pour voir le nom de la feuille traitée
Temp = Dir(ActiveWorkbook.Path & "\*.xls") 'ouvre les fichiers xls du reperoire dans le quel se trouvre Recap.xls
Application.DisplayAlerts = False 'désactive les éventuells msg d'alerte
Do While Temp <> ""
If Temp <> "Recap.xls" Then 'tant qu'il y'a un fichier xls faire
Workbooks.Open ActiveWorkbook.Path & "\" & Temp 'ouvrire le fichier
Workbooks(Temp).Sheets(Feuil).Range("A1").CurrentRegion.Copy 'copier le contenue de la page Feuil
Workbooks("Recap.xls").Sheets(i + 1).Activate 'se placler dans la pare i+1 du fichier Recap
Ligne = Sheets(i + 1).Range("A65536").End(xlUp).Row + 1 'On sauter la première ligne
Range("A" & CStr(Ligne)).Select "???"
ActiveSheet.Paste " on cole la copie faite plus haut"
Workbooks(Temp).Close 'on ferme le fichier temp
End If
Temp = Dir
Loop
Range("A1").Select
Application.DisplayAlerts = True
Next i
Application.Calculation = xlAutomatic
End Sub
L'exécution me renvoie un message d'erreur (L'indice n'appartient pas à la selection et ce concerne la ligne de code:
Workbooks(Temp).Sheets(Feuil).Range("A1").CurrentRegion.Copy 'copier le contenue de la page Feuil
Lorsque j'exécute le code trois fois en changeant manuellement les lignes
Workbooks(Temp).Sheets("Dico").Range("A1").CurrentRegion.Copy 'copier le contenue de la page Dico
Workbooks("Recap.xls").Sheets(1).Activate 'selectionné la feuille 1 du fichier Recap
Ligne = Sheets(1).Range("A65536").End(xlUp).Row + 1 'sauter la 1er ligne
il fonctionne.
Mon problème se situe au niveau de l'exploitation du contenu du tableau
Merci de m'aider à trouver une solution à ce problème