Tri feuilles selon une cellule définie

  • Initiateur de la discussion Initiateur de la discussion Sylvie
  • 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 !

Sylvie

XLDnaute Accro
Bonjour à tous et à toutes,

je souhaiterais à l'aide d'une macro pouvoir trier les feuilles d'un classeur non pas suivant le nom, mais par ordre croissant en fonction de la cellule C2 De chacune des feuilles. La cellule C2 est au format texte (et doit le rester) et elle comprend 4 caractères allant de 0001 à 0301 par exemple.
Toutes les feuilles que je veux trier portent l'extension .xls (j'ai bien dit qu'il s'agissait d'un nom de feuilles; ca peut aider pour selectionner les feuilles concernées par le tri 😉 ). J'apporte cette précision car mon classeur contient 4 autres feuilles ne portant pas cette extension, ne contenant pas la fameuse cellule C2 et que je ne souhaite pas déplacer dabn smon classeur.


Merci pour votre aide
Bonne journée
Sylvie
 
Salut Sylvie

bonjour le Forum

Si j'ai bien Compris la Question
Voilà ce que j'ai bidouillé
Tiens nous au courant

Bonne Journée [file name=Tri_Sylvie.zip size=10610]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Tri_Sylvie.zip[/file]
 

Pièces jointes

Bonjour Jean Marie,

ravie que nos chemins se croisent à nouveau. 🙂

J'ai un petit souci pour faire fonctionner ta macro dans mon classeur. Je l'ai copié dans un module (module8 des modules) mais ca coince sur Option explicit. Peut être dois je respecter l'endroit où elle figure dans ton classeur et la copier dans ThisWorbook ? Ca doit etre important je suppose. 😱
En fait comme j'ai plein d'autres macros dans mon fichier je l'ai copié au même endroit que les autres mais dans un module distinct.
Mais je t'avoue que c'est encore du petit chinois ...


Merci pour ton aide
Sylvie
 
Re Sylvie
je ne pense pas que l'endroit ou se trouve la macro soit le problème
j'ai mis la Macro qui suit dans un Module n°1 chez moi Lol
et celà fonctionne
pour ce qui est de L'Option explicit cette Option impose la déclaration des Variables aurais tu ajouter quelques variables que tu n'aurais pas déclarées ????

voici la Macro à mettre dans ton module et à coller au bouton
Sub tri()
Dim tabtemp As Variant
Dim tmp As Variant, tmp2 As Variant
Dim Ws As Worksheet
Dim x As Byte, L As Byte, L2 As Byte
x = 1
ReDim tabtemp(2, x)
For Each Ws In Worksheets
If Right(Ws.Name, 3) = 'xls' Then
ReDim Preserve tabtemp(2, x)
tabtemp(1, x) = Ws.Name
tabtemp(2, x) = Ws.Range('C2').Value
x = x + 1

End If

Next
For L = 1 To UBound(tabtemp, 2)

For L2 = L + 1 To UBound(tabtemp, 2)
If tabtemp(2, L2) < tabtemp(2, L) Then
tmp = tabtemp(2, L2): tmp2 = tabtemp(1, L2)
tabtemp(2, L2) = tabtemp(2, L): tabtemp(1, L2) = tabtemp(1, L)
tabtemp(2, L) = tmp: tabtemp(1, L) = tmp2
End If
Next
Next

L = 1
Application.ScreenUpdating = False
For Each Ws In Worksheets
If Right(Ws.Name, 3) <> 'xls' Then
Ws.Select
Else
For L = 1 To UBound(tabtemp, 2)
Sheets(tabtemp(1, L)).Move after:=ActiveSheet
Sheets(tabtemp(1, L)).Select

Next
End If
Next
Sheets('Feuil1').Select
Application.ScreenUpdating = True
End Sub

tiens moi au courant

Message édité par: Chti160, à: 05/07/2005 10:54
 
Re bonjour Jean Marie,

j'ai collé ta macro dans un module et j'ai fait un bouton sur une feuille appelée RECAP (RECAP tout court pas 'RECAP.xls'). Jusque là tout va bien. J'ai lancé la macro et bien sur elle s'est arrêtée sur

End If
Next
Sheets('Feuil1').Select
Application.ScreenUpdating = True
End Sub

Comme je n'ai pas de feuille nommée feuil1 j'ai remplacé Feuil1 par RECAP. 🙂
Tout à l'air de bien fonctionner mais ma feuille RECAP (tout court) est copiée en premier au tout début du classeur or elle ne devrait pas changer de place 😱

Qu'en penses tu ?

Merci
Sylvie
 
Re bonjour Jean Marie,

j'ai collé ta macro dans un module et j'ai fait un bouton sur une feuille appelée RECAP (RECAP tout court pas 'RECAP.xls'). Jusque là tout va bien. J'ai lancé la macro et bien sur elle s'est arrêtée sur

End If
Next
Sheets('Feuil1').Select
Application.ScreenUpdating = True
End Sub

Comme je n'ai pas de feuille nommée feuil1 j'ai remplacé Feuil1 par RECAP. 🙂
Tout à l'air de bien fonctionner mais ma feuille RECAP (tout court) est copiée en premier au tout début du classeur or elle ne devrait pas changer de place 😱

Qu'en penses tu ?

Merci
Sylvie
 
Re Sylvie pour l'exemple peux tu me donner les noms de feuille de ton classeur je reproduit ainsi le fichier et je teste juste les noms en sachant que les Feuilles .xls ont en Cellule C2 un String Lol
compris entre 0001 et 0301
Merci d'avance
 
Re bonjour

Pour la cellule C2 elle peut bien sur aller au dela de 0301 mais je pense que tu testes le nom des feuilles puis la cellule C2 et pas l'inverse, non ?
Mes feuilles sont x feuilles .xls puis une feuille RECAP, puis quatre feuilles appelées RECAP, CHANTIERS, SALARIES, TOTALITE.

Merci à toi

Sylvie
 
re sylvie
dans ton explication il y a une erreur car tu ne peux avoir deux feuilles du même nom Lol
elle dit (Sylvie)
Mes feuilles sont x feuilles .xls puis une feuille RECAP, puis quatre feuilles appelées RECAP,CHANTIERS, SALARIES, TOTALITE.
ya deux feuilles RECAP sinon
donc j'ai fais un fichier pour que tu testes

[file name=Tri_SylvieV2.zip size=13768]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Tri_SylvieV2.zip[/file]
 

Pièces jointes

Re bonjour Jean Marie,

mille merci (qui viennent s'ajouter aux millers précédents) car cette version 3 à l'air de remplir parfaitement son rôle. Je vais la tester d'ici demain en grandeur nature sur les 90 feuilles qui composeront mon classeur.

Je te tiens au courant bien sur

Bonne journée à toi et à tout le forum,

Sylvie
 
re non non on est pas demain Lol
une autre version plus pratique tu testes y a une trentaine de feuille avec une place fixe pour les feuilles non xls les places
j'ai mis en dernier TOTALITE puis SALARIES puis CHANTIERS puis RECAP) enfin tu verras [file name=Tri_SylvieV4.zip size=23674]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Tri_SylvieV4.zip[/file]

Message édité par: ChTi160, à: 05/07/2005 15:25
 

Pièces jointes

- 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

Discussions similaires

Réponses
3
Affichages
876
C
Réponses
1
Affichages
1 K
Cattleya97
C
E
Réponses
2
Affichages
841
Excel.Deb
E
N
Réponses
2
Affichages
960
N
A
Réponses
4
Affichages
4 K
A
Z
Réponses
5
Affichages
1 K
Z
Retour