Trier des feuilles excel selon un résultat.
Résolu
adsens
Messages postés
12
Statut
Membre
-
adsens Messages postés 12 Statut Membre -
adsens Messages postés 12 Statut Membre -
Bonjour à tous,
J'ai un classeur excel de plusieurs feuilles avec des données :
Feuil1 : Cellule A6 [contient un résultat de calcul (exemple: 2000)] .
Feuil2 : Cellule A6 [contient un résultat de calcul (exemple: 3000)] .
Feuil3 : Cellule A6 [contient un résultat de calcul (exemple: 4000)] .
et ainsi de suite pour des dizaines de feuilles.
Et je veux faire un triage décroissant des feuilles selon le résultat .
J'espère que tout est claire.
Merci d'avance
J'ai un classeur excel de plusieurs feuilles avec des données :
Feuil1 : Cellule A6 [contient un résultat de calcul (exemple: 2000)] .
Feuil2 : Cellule A6 [contient un résultat de calcul (exemple: 3000)] .
Feuil3 : Cellule A6 [contient un résultat de calcul (exemple: 4000)] .
et ainsi de suite pour des dizaines de feuilles.
Et je veux faire un triage décroissant des feuilles selon le résultat .
J'espère que tout est claire.
Merci d'avance
A voir également:
- Trier des feuilles excel selon un résultat.
- Trier un tableau excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Resultat foot - Télécharger - Vie quotidienne
- Fusionner feuilles excel - Guide
3 réponses
c'est ce qui est fait dans le lien modifié (j'avais lu un peu vite la question)
en fait pas grand chose à modifier
si c'est ok, penses à mettre le sujet à Résolu (en haut à droite de ton premier message)
Bonne soirée
en fait pas grand chose à modifier
Call TriSel(tv, 1)
For nuf = nbf To 1 Step -1
Sheets(tv(nuf, 2)).Move after:=Sheets(nbf)
Next nuf
si c'est ok, penses à mettre le sujet à Résolu (en haut à droite de ton premier message)
Bonne soirée
Bonsoir le fil, bonsoir le forum,
Peut-être comme ça :
Peut-être comme ça :
Option Base 1
Sub Macro2()
Dim NO As Byte 'déclare la variable NO (Nombre d'Onglets)
Dim I As Byte 'déclare la variable I (Incrément)
Dim TOS() 'déclare la variable TOS (Tableau des Onglets)
Dim J As Byte 'déclare la variable J (incrément)
NO = Sheets.Count 'définit le nombre d'onglets NO
ReDim TOS(NO, 2) 'redimensionne le tableau des onglets TOS (NO lignes, 2 colonnes)
For I = 1 To NO 'boucle sur tous les onglets
TOS(I, 1) = I 'définit la valeur dans la colonne 1 du tableau TOS (le numéro de l'onglet)
TOS(I, 2) = Sheets(I).Range("A6").Value 'définit la valeur dans la colonne 2 du tableau TOS (la valeur de A6 de l'onglet)
Next 'prochain onglet de la boucle
J = 1 'initialise la variable J
For I = 1 To UBound(TOS, 1) 'boucle sur toutes les lignes du tableau TOS
'condition : si la valeur de la cellule A6 de l'onglet est la Jième plus petite valeur de la deuxième colonne du tableau TOS
If TOS(I, 2) = Application.WorksheetFunction.Small(Application.Index(TOS, , 2), J) Then
'place l'onglet devant l'onglet numéro J, incrémente J
Sheets(TOS(I, 1)).Move before:=Sheets(J): J = J + 1
End If 'fin de la condition
Next I 'prochaine ligne de la boucle
End Sub
Merci énormément, ça marche à merveille. Merci encore :)
Mais si c'est possible d'inverser le tri de "croissant" à "décroissant" !!!
et un grand merci d'avance @ccm81.