Bonsoir à toutes et tous,
avec votre aide, je suis parvenu à ouvrir et modifier 62 dossiers contenant des dizaines classeurs comme je le souhaitais (remplacements de modules, ThisWorkbook, page etc...). Tous ces classeurs se trouvent maintenant dans un dosssier "Contrôles Clients Bis". Ce que je n'arrive pas à faire, c'est à partir de ce code:
éxecuter le module3 du classeur ouvert:
J'ai l'impression que mon post est un peu chargé... mais bon..
Merci de votre aide.
@+
avec votre aide, je suis parvenu à ouvrir et modifier 62 dossiers contenant des dizaines classeurs comme je le souhaitais (remplacements de modules, ThisWorkbook, page etc...). Tous ces classeurs se trouvent maintenant dans un dosssier "Contrôles Clients Bis". Ce que je n'arrive pas à faire, c'est à partir de ce code:
Code:
Sub MaMacro()
Dim CheminDossier$, dossier, i As Byte, chemin$, o As Boolean, NomModule As String, Module3 As Variant
CheminDossier = "C:\Documents and Settings\JFL CONTROLE\Bureau\" 'à adapter
dossier = Array("Contrôles Clients Bis") 'noms des dossiers
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'pour la supression des feuilles
For i = 0 To UBound(dossier)
chemin = CheminDossier & dossier(i) & "\"
nomfich = Dir(chemin & "*.xls*") '1er fichier du dossier
While nomfich <> ""
o = False
On Error Resume Next
If IsError(Workbooks(nomfich).Name) Then 'si le fichier n'est pas déjà ouvert, on l'ouvre
Application.EnableEvents = False
Workbooks.Open chemin & nomfich
o = True
End If
On Error GoTo 0
With ActiveWorkbook.VBProject
.Module3 Run 'C'est ici que je souhaite l'execution du module3
End With
Application.EnableEvents = True
If o Then ActiveWorkbook.Close SaveChanges:=True 'si le fichier a été ouvert on le ferme
nomfich = Dir 'fichier suivant du dossier
Wend
Next
End Sub
Code:
Sub Enregister()
' Enregistrer Sous
Application.EnableEvents = False
Dim Lechemin As String
Dim LeFichier As String
Dim NomRep As String
'\***************************************************************************************************************************
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Lechemin = ActiveWorkbook.Path
Nom = Cells(4, 3)
NomClient = Cells(39, 26).Value
NumParc = Cells(12, 8).Value
Lieu = Cells(46, 25).Value
NomRep = NomClient
Marque = Cells(9, 8).Value
Numserie = Cells(11, 8).Value
Jour = Format(Cells(49, 9), "dd-MM-YYYY")
LeFichier = Nom & " _ " & NumParc & " _ " & NomClient & " _ " & Marque & " _ " & Numserie & " _ " & Jour
'\***************************************************************************************************************************
Lechemin = "C:\Documents and Settings\JFL CONTROLE\Bureau\Trames\CONTROLES CLIENTS\"
If Dir(Lechemin & NomRep & " " & Lieu, 16) = "" Then MkDir Lechemin & NomRep & " " & Lieu
ActiveWorkbook.SaveAs Lechemin & NomRep & " " & Lieu & "\" & LeFichier
ActiveWorkbook.ActiveSheet.Select
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'\***************************************************************************************************************************
Application.ScreenUpdating = True
Application.EnableEvents = True
ThisWorkbook.Close SaveChanges:=True
End Sub
J'ai l'impression que mon post est un peu chargé... mais bon..
Merci de votre aide.
@+