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.

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
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.
Voici ma macro (constituée d'informations trouvées sur le net) :

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
Merci pour votre aide.