Utiliser les valeurs d'un tableau comme variable

Bonjour à tous,

J'ai besoin d'aide pour un problème basique, téllement basique que j'arrive même pas a faire de recherche tellement les termes sont génériques.

Donc je cherche à ouvrir et copier plusieurs fichiers Excel dans un fichier maître si on peut dire.

J'utilise donc le code suivant pour le faire

source = Dir(ThisWorkbook.Path & "\" & "Achat*" & ".*")
Set Source_Workbook = Workbooks.Open(folderpath & "\" & source)
Source_Workbook.Sheets(1).Copy Before:=Target_Workbook.Sheets(1)
Source_Workbook.Close SaveChanges:=False
ActiveSheet.name = "Achat"

Rien de bien folichon sur mon code jusque la.

Le petit problème c'est que j'ai 7 fichiers différents à intégrer dans mon fichier maïtre, et tous avec nom bien distinct.
J'ai déjà trouvé la solution en enregistrant mon bout de code 7 fois puis en modifiant le nom du fichier que j'ouvre dans la partie "source" mais je me dis que c'est très très moche et pas super pratique à modifier.

Du coup je me dis que je dois pouvoir inclure mon code dans une boucle, qui me permettrait modifier le nom du fichier à chaque fois que ma boucle se joue.
Petit problème je ne sais pas comment déclarer une variable qui pourrait s'incrémenter et changer de valeur à chaque fois.

Voici les noms de mes fichiers:
Achat
Article
Dépense
Facture...

Quelqu'un aurait une idée ? J'ai beau chercher variable et tableau, mais je pense que ma recherche est beaucoup trop vague.

Merci beaucoup.

Bonjour,

Quelque chose comme ça ?

Sub test1()
  Dim Fichiers As Variant
  Fichiers = Array("Achat", "Article", "dépense", "Facture")
  For i = 0 To 3
    Source = Dir(ThisWorkbook.Path & "\" & Fichiers(i) & "*" & ".*")
    Set Source_Workbook = Workbooks.Open(folderpath & "\" & Source)
    Source_Workbook.Sheets(1).Copy Before:=Target_Workbook.Sheets(1)
    Source_Workbook.Close SaveChanges:=False
    ActiveSheet.Name = Fichiers(i)
  Next i
End Sub

Daniel

Parfait.

Merci énormément

Rechercher des sujets similaires à "utiliser valeurs tableau comme variable"