Trier la même colonne dans plusieurs feuilles

Mexav

XLDnaute Nouveau
Bonjour,
J'ai un tableau concernant un calendrier "Anniversaires" de la famille.
Fatalement, il faut les douze mois dont les onglets ont été nommés de Janvier à Décembre, toutes les feuilles ont la même structure. le tri est demandé dans la colonne " Q " soit "Q5:Q342".
La macro trouvée par le système "enregistrement macro", qui fonctionne correctement est:

ActiveWorkbook.Worksheets("Janvier").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Janvier").AutoFilter.Sort.SortFields.Add Key:= _
Range("Q5:Q342"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
:=xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Janvier").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Que j'ai recopiée pour tous les mois.
J'aurais voulu trouver, une macro avec boucle du genre for...next, pour simplifier .
Merci d'avance et Bon WE.
 

Staple1600

XLDnaute Barbatruc
Re : Trier la même colonne dans plusieurs feuilles

Bonjour à tous

Essaie avec cette base
Code:
Sub trie()
Dim i
For i = 1 To 12
With Sheets(StrConv(MonthName(i), vbProperCase))
MsgBox .Name 'juste pour tester la boucle
' àrempalcer donc avec ton code VBA de tri
End With
Next
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Trier la même colonne dans plusieurs feuilles

Suite

Si tu joignais un fichier Excel exemple, nous pourrions tester plus avant nos propositions avant de tr les soumettre.
(le code ci-dessous focntionne sur mon fichier de test
Code:
Sub trieII()
Dim i
For i = 1 To 12
With Sheets(StrConv(MonthName(i), vbProperCase))
.Range("A1:Q20").Sort Key1:=.Range("Q2"), Order1:=xlAscending, Header:=xlYes
End With
Next
End Sub
Donc je te laisse adapter à ton fichier réel ou joindre enfin un fichier
(comme le conseille judicieusement la charte du forum)
 

Mexav

XLDnaute Nouveau
Re : Trier la même colonne dans plusieurs feuilles

Bonsoir,
Merci pour les réponses, je n'ai pas encore testé.
Je joins le fichier demandé, j'y ai supprimé les adresses, tel. etc... pour discrétion et modifié les patronymes.
les boutons dans les onglets des mois sont devenus obsolètes.
la macro en cause est "MaJ_donnees", fin de page .

Bonne soirée
 

Staple1600

XLDnaute Barbatruc
Re : Trier la même colonne dans plusieurs feuilles

Re

Mexav
Pourquoi on ne retrouve ma proposition dans tes modules ?
le tri est demandé dans la colonne " Q " soit "Q5:Q342".
Dans ce cas, pourquoi la colonne Q est-elle masquée sur les feuilles mensuelles ??

NB: Pour infos, on ne joint jamais le fichier original mais une version allégée créée spécialement pour illustrer la question posée.
(Donc ici un classeur avec 12 feuilles mensuelles avec des données en colonne Q à trier suffisait )
Et on peut compresser le classeur avant envoi (Clic-droit sur le fichier-> Envoyez vers dossiers compressés)
 
Dernière édition:

Mexav

XLDnaute Nouveau
Re : Trier la même colonne dans plusieurs feuilles

Désolé, il faut aller dans juillet toutes les colonnes y sont affichées, j'ai oublié de le mentionner.:confused:
J'ai fait pour le mieux, mais je vois qu'il a encore mieux, j'en tiendrai compte.
Bonne soirée
Xavier
 

Staple1600

XLDnaute Barbatruc
Re : Trier la même colonne dans plusieurs feuilles

Re

Mexav
Ta question est d'appliquer le tri sur tes douze feuilles
Il faut donc que la colonne Q soient visibles sur les douze feuilles.

Entre 11h49 et maintenant, tu n'as toujours pas trouvé le temps de tester ma proposition ??
 

Mexav

XLDnaute Nouveau
Re : Trier la même colonne dans plusieurs feuilles

Re

Alors bonne digestion et bons tests ;)

Merci pour la digestion, j'ai une indigestion de VBA.
Bon, j'y suis quand même arrivé, cela fonctionne, je veux cependant une confirmation après une courte nuit !
Ce sera pour demain après midi.
Voici le code
Sub trieII()
Dim i
For i = 1 To 12
With Sheets(StrConv(MonthName(i), vbProperCase))
.Range("A5:Q342").Sort Key1:=.Range("Q5"), Order1:=xlAscending, Header:=xlYes
End With
Next
End Sub

Merci pour tout et à demain soir.
 

Mexav

XLDnaute Nouveau
Re : Trier la même colonne dans plusieurs feuilles

Bonjour,
Je n'ai pu attendre l'après-midi, la formule fonctionne correctement.
J'a du encore modifier range("A5:Q342") par Range("A5:AD342"), pour mettre correctement à jour les modifications dans la base de données.
De 156 lignes, cela se réduit à 8 lignes seulement
Je vais travailler sur les autres macros et essayer d'y adapter cette macro.
je te tiendrai au courant
Merci pour cette bonne leçon, reçue en toute convivialité et humour.
Très bon dimanche
Xavier
 

Staple1600

XLDnaute Barbatruc
Re : Trier la même colonne dans plusieurs feuilles

Bonjour à tous

Mexav
Si tu obtiens le résultat souhaité, avec tes modifications de mon code VBA, c'est qu'elles sont bonnes, non ?

Pour infos
Tu peux utiliser les balises BB idoines pour distinguer le code VBA dans tes messages
Ce qui donne ce résultat
Code:
Sub trieII()
Dim i
]For i = 1 To 12
With Sheets(StrConv(MonthName(i), vbProperCase))
.Range("A5:Q342").Sort Key1:=.Range("Q5"), Order1:=xlAscending, Header:=xlYes
End With
Next
End Sub
ou alors pour mettre un peu de couleurs ces balises :
[noparse]
VB:
[/noparse][/SIZE][/B][/COLOR]le code de la macro[COLOR=#0000cd][B][SIZE=1][noparse]
[/noparse]

VB:
Sub trieII()
Dim i
For i = 1 To 12
With Sheets(StrConv(MonthName(i), vbProperCase))
.Range("A5:Q342").Sort Key1:=.Range("Q5"), Order1:=xlAscending, Header:=xlYes
End With
Next
End Sub
 

Mexav

XLDnaute Nouveau
Re : Trier la même colonne dans plusieurs feuilles

Re-bonjour [highlight]Staple1600[/code]

Je confirme que ton code V BA est très bon et fait mon bonheur !!!;)
Encore grand merci pour ton aide.
L'on apprend beaucoup, le problème c'est retenir ! à 75 piges, c'est pas évident.
Bien cordialement
Xavier
 
Dernière édition:

Statistiques des forums

Discussions
312 248
Messages
2 086 595
Membres
103 250
dernier inscrit
keks974