Bonjour,
Je suis débutant en VBA. Je suis face à un problème que je n'arrive pas à résoudre seul.
Mon pb est le suivant :
J'ai un fichier "Fournisseur" qui contient la macro et un autre fichier "Suivi DA" qui lui est protégé par un mdp.
Je souhaite via une macro contenue dans le fichier "Fournisseur", ouvrir le classeur "Suivi DA" et copier les feuilles dont le nom commande par DA puis refermer le fichier.
En rechercher sur le net, je vu la macro ci-dessous. Mais je n'arrive pas à l'adapter.
J'arrive à ouvrir le fichier et saisir le mdp via la macro. Mais je n'arrive pas à copier les feuilles dont le nom commencent par DA.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub Exemple_3() Dim tbl() Dim sh As Worksheet Dim Elem As Integer For Each sh In ThisWorkbook.Worksheets If Left(sh.Name, 2) = "19" Then ReDim Preserve tbl(Elem): tbl(Elem) = sh.Name: Elem = Elem + 1 End If Next Sheets(tbl).Copy End Sub
Voici ma macro (constituée d'informations trouvées sur le net) :
Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Sub vachercherongletetcopyonglet() Dim wkA As Workbook, wkB As Workbook Dim tbl() Dim sh As Worksheet Dim Elem As Integer Set wkA = ThisWorkbook Application.ScreenUpdating = False 'fige l'écran afin de ne pas voir de mouvement d'onglets Excel.Workbooks.Open Filename:="C:\Users\etche\Downloads\SUIVI DA et CDE", WriteResPassword:="EricMarc" 'ouvre le fichier B For Each sh In ThisWorkbook.Worksheets If Left(sh.Name, 2) = "DA" Then wkB.Sheets("Feuil2").Copy before:=wkA.Sheets(1) 'ReDim Preserve tbl(Elem): tbl(Elem) = sh.Name: Elem = Elem + 1 'Worksheets.Copy after:=wkA.Sheets("MACRO") End If Next End Sub
Partager