Application d'une mise en forme sur plusieurs fichiers en même temps

Vilain

XLDnaute Accro
Bonjour à tous,

J'ai une petite question a priori pour les experts en macro.
J'ai plusieurs fichiers avec plusieurs onglets ouverts en même temps.
Tous les onglets de tous les fichiers sont exactement ordonnés de la même manière.
Je souhaiterai changer la mise en forme (mettre en pourcentage pour être exact) de tous les onglets de tous les fichiers d'un seul coup.

Est-ce possible ?

Merci d'avance
 

Kiseki

XLDnaute Occasionnel
Re : Application d'une mise en forme sur plusieurs fichiers en même temps

Bonjour,


Tu peux sélectionner toutes les feuilles, ensuite la plage de donnée et la mettre au format %, la même sélection pour toutes les feuille sélectionner devrait le devenir.
 

Vilain

XLDnaute Accro
Re : Application d'une mise en forme sur plusieurs fichiers en même temps

Salut à vous deux,

Merci pour cette promptitude, comme toujours.
Ta solution Kiseki marche pour tous les onglets d'un même fichier, mais comment faire pour tous les onglets de tous les fichiers ?
 

TempusFugit

XLDnaute Impliqué
Re : Application d'une mise en forme sur plusieurs fichiers en même temps

Voici un exemple de macro qui applique le format pourcentage de toutes les cellules A1 de toutes les feuilles de tous les classeurs ouverts.

Code:
Sub macro()
Dim classeur As Workbook, feuille As Worksheet, i As Long
For Each classeur In Workbooks
For i = 1 To classeur.Worksheets.Count
classeur.Sheets(i).Range("A1").NumberFormat = "0.00%"
Next i
Next classeur
End Sub
 
Dernière édition:

Vilain

XLDnaute Accro
Re : Application d'une mise en forme sur plusieurs fichiers en même temps

Super Tempus,
Je vais essayer d'adapter ça à mes colonnes concernées.
Je reviens vers toi si je n'y arrive pas.

Encore merci, tu n'imagines pas le gain de temps !
 

Kiseki

XLDnaute Occasionnel
Re : Application d'une mise en forme sur plusieurs fichiers en même temps

Excuse moi :
Code:
Sub macro()
Dim classeur As Workbook, feuille As Worksheet
For Each classeur In Workbooks
For each feuille in worksheet
classeur.feuille.usedrange.NumberFormat = "0.00%"
Next feuille
Next classeur
End Sub

Dans alt+F11 crée un nouveau module
 

Vilain

XLDnaute Accro
Re : Application d'une mise en forme sur plusieurs fichiers en même temps

Re,

Merci pour vos solutions mais je ne parviens pas à l'adapter.
Ma demande concerne tous les onglets de tous les fichiers, je souhaite avoir les colones I, K, M, P, R, T exprimées en %.
Comment adapter la macro de tempus (post 5) ?

Merci d'avance

Merci d'avance
 

TempusFugit

XLDnaute Impliqué
Re : Application d'une mise en forme sur plusieurs fichiers en même temps

Bonjour

Essaie avec ces modifications
Code:
Sub macroV2()
Dim classeur As Workbook, feuille As Worksheet, i As Long
For Each classeur In Workbooks
For i = 1 To classeur.Worksheets.Count
classeur.Sheets(i).Range("I:I,K:K,M:M,P:P,R:R,T:T").NumberFormat = "0.00%"
Next i
Next classeur
End Sub
Attention avec cette macro, toute la colonne est traitée (soit 65536 cellules par colonnes)
Donc il faudrait mieux adapter pour ne traiter que la plage de cellules non vides de chaque colonne.
(surtout si tu utilises une version supérieure à 2003)

@Kiseki: ton code ne fonctionne pas.
 
Dernière édition:

TempusFugit

XLDnaute Impliqué
Re : Application d'une mise en forme sur plusieurs fichiers en même temps

Bonjour de nouveau

Cette version prend en compte ce que je disais dans mon précédent messages

Code:
Sub macroV3()
Dim classeur As Workbook, feuille As Worksheet, i As Long
On Error Resume Next
For Each classeur In Workbooks
For i = 1 To classeur.Worksheets.Count
With classeur.Sheets(i)
.Range("I:I,K:K,M:M,P:P,R:R,T:T").SpecialCells(xlCellTypeConstants).NumberFormat = "0.00%"
.Range("I:I,K:K,M:M,P:P,R:R,T:T").SpecialCells(xlCellTypeFormulas).NumberFormat = "0.00%"
End With
Next i
Next classeur
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 185
Messages
2 086 010
Membres
103 090
dernier inscrit
Createlier