Apliquer une macro à une liste de classeurs

  • Initiateur de la discussion Initiateur de la discussion pheonix00fr
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

pheonix00fr

Guest
Bonjour à tous,
j'ai crée une petite macro pour modifier une mise en forme. Mon problème est de pouvoir la faire fonctionner sur plusieur fichiers portant un début de nom similaire ex: DDE08001;DDE08002;.....
Merci d'avance.

Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 05/11/2009 par POSTE
'
Workbooks.Open Filename:= _
"C:\Nouveau dossier\DDE080007.xls"
Range("A22:B22").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End Sub
 
Re : Apliquer une macro à une liste de classeurs

Hello,

Tes fichiers sont ils ouverts ? Si oui il faut faire un fichier qui intègre ta macro et que ta macro teste chaque fichier ouvert et s'il commence par XXX alors la lancer.

Si tes fichiers sont fermés, il faut alors tester les fichiers dans le rep, les ouvrir s'ils comencent par XXX, lancer la macros les sauvegarder et les refermer.

Si tu recherches, tu devrais facilement pouvoir trouver des boucles sur fichiers (ouverts ou fermés)

By @ +

Juju
 
Re : Apliquer une macro à une liste de classeurs

Bonsoir pheonix00fr et juju_69,


Une macro qui ne devrait pas être très loin d'obtenir le résultat souhaité.

Sub MisenForme()
Dim Dossier As Object, Fichier As Object, Chemin As String
'Chemin du dossier à analyser (à adapter au besoin)
Chemin = "C:\Nouveau dossier\"
'Attribue une référence d'objet à la variable
Set Dossier = CreateObject("Scripting.FileSystemObject").GetFolder(Chemin)
Application.ScreenUpdating = False
For Each Fichier In Dossier.Files
If Right(Fichier.Name, 4) = ".xls" Then
If Left(Fichier.Name, 3) = "DDE" Then
Workbooks.Open Filename:=Fichier
With ActiveSheet.Range("A22:B22")
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
ActiveWorkbook.Save
ActiveWorkbook.Close

End If
End If
Next
End Sub
 
Dernière édition:
Re : Apliquer une macro à une liste de classeurs

Bonsoir


Avec FileSearch

Code:
Sub appliquerFormat()
[FONT=Courier New]Dim i As Long

Application.ScreenUpdating = False

With Application.FileSearch
    .NewSearch
    [/FONT]  [FONT=Courier New][SIZE=2].LookIn = "C:\[/SIZE][/FONT][FONT=Courier New][SIZE=2]Nouveau dossier[/SIZE][/FONT][FONT=Courier New][SIZE=2]"[/SIZE]
    .FileType = msoFileTypeExcelWorkbooks
    .Filename = "DDE08*"
    
    If .Execute > 0 Then
        For i = 1 To .FoundFiles.Count
        
            With Workbooks.Open(.FoundFiles(i), 0)
                With .Sheets(1).Range("A22:B22")
                    .HorizontalAlignment = xlGeneral
                    .VerticalAlignment = xlBottom
                    .MergeCells = True
                End With
            .Save
            .Close True
            End With
            
        Next i
End If
End With

Application.ScreenUpdating = True[/FONT] 
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
11
Affichages
969
L
Réponses
9
Affichages
1 K
P
  • Résolu(e)
Réponses
2
Affichages
1 K
Pdedieu
P
T
  • Résolu(e)
XL pour MAC Target
Réponses
9
Affichages
2 K
tdenis
T
H
Réponses
2
Affichages
1 K
H
A
Réponses
0
Affichages
718
A
D
Réponses
3
Affichages
670
C
  • Question Question
Réponses
3
Affichages
996
Cerisaie
C
M
  • Question Question
Réponses
6
Affichages
1 K
R
Réponses
5
Affichages
2 K
R
V
Réponses
2
Affichages
2 K
vynmarius
V
Réponses
1
Affichages
1 K
Retour