Bonjour,
Ci-après la portion d'une macro sur laquelle je travaille, portion dont l'objectif est d'aller copier des données depuis une feuille d'un classeur fermé.
Cette feuille porte le nom de "System ENG" mais peut parfois porter un autre nom selon le fichier. Dans tous les cas, c'est toujours dans la première feuille du classeur que les données visées sont inscrites (copie de la plaghe A1:D300)..
Je souhaite :
- soit remplacer "System ENG" directement par "la première feuille du classeur" ou une variable qui aurait été défini comme "la première feuille du classeur. J'ai essayé de remplacer System ENG par Sheets(1), mais ça ne marche pas
- ou bien aller vérifier quelle feuille du classeur fermé contient la donnée x et choisir cette feuille pour en copier la plage A1:D300. Ce serait certainement la solution la plus pertinente mais je ne veux pas non plus faire trop compliqué, sachant que je reste un non expert en VBA.
Merci par avance de votre aide.
Cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Fichier = Dir(Chemin & "*.xlsx") Application.ScreenUpdating = False Do While Len(Fichier) > 0 'debut de la boucle avec LOOP If Fichier <> ThisWorkbook.Name Then ThisWorkbook.Names.Add "Plage", _ RefersTo:="='" & Chemin & "[" & Fichier & "]System ENG'!A1:d300" 'on copie la feuille Eng System sur la feuille 2 et on nettoie la feuille With Sheets("Feuil2") 'on définit la feuille sur laquelle on va copier .[A1:d300] = "=plage" 'on définit la plage ou vont être copiées les cellules .[A1:d300].Copy
Partager