Tri feuille excel en fonction d'un nombre

Nico70 Messages postés 279 Date d'inscription   Statut Contributeur Dernière intervention   -  
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je voulais savoir si c'était possible de trier des feuilles dans excel de manière automatique (comme on peut le faire mais dans l'ordre alphabétique) mais en fonction d'un nombre (une cellule "total" présente sur chaque feuille qui sera amenée à être changé).

Si oui, comment le faire et si possible me le faire, car je pense que c'est du VBA mais je ne connais que très peu ce langage...

Merci d'avance !

Éleveur de pingouins et de renards, fière de l'être ;)
A voir également:

3 réponses

Le Pingou Messages postés 12712 Date d'inscription   Statut Contributeur Dernière intervention   1 466
 
Bonjour,
Et on trie quoi en fonction d'un nombre ?
0
Nico70 Messages postés 279 Date d'inscription   Statut Contributeur Dernière intervention   66
 
Bonjour,
J'aimerais trier des feuilles (ou onglet) en fonction d'un nombre.
Je m'explique, sur chaque feuille , il y aura un total, et j'aimerais trier mes feuilles en fonction de ce total, si sur une feuille Feuil1 le total vaut 10 et sur l'autre Feuil2 il vaut 20.
Il faudrait que la feuille Feuil2 soit la première.

Vous avez un peu mieux compris ?
0
Raymond PENTIER Messages postés 71855 Date d'inscription   Statut Contributeur Dernière intervention   17 387
 
Bonjour Nico70.

"trier des feuilles dans excel de manière automatique (comme on peut le faire mais dans l'ordre alphabétique)" : parce que tu sais faire ça, toi ? Explique ta méthode.
Je sais trier les données d'une colonne dans une feuille ; mais les feuilles d'un dossier, c'est très nouveau pour moi.
0
Nico70 Messages postés 279 Date d'inscription   Statut Contributeur Dernière intervention   66
 
Bonjour Raymond,

Comme je l'ai dit, je connais pas le VBA, mais je suis curieux et cherche beaucoup, tapez dans Google tri feuille alphabétique excel et vous trouverez votre bonheur :)

Tapez Alt + F11 pour ouvrir Visual Basic Editor et déroulez le menu Insertion, Module.
Recopiez ceci:

Sub TrierOnglets() 

    Dim Boucle As Integer, Compteur As Integer 

    For Boucle = 1 To Sheets.Count 
        If Sheets(Boucle).Visible = true then 
           For Compteur = 1 To (Boucle - 1) 
               If Sheets(Compteur).Visible = true then 
                    If (UCase(Sheets(Boucle).Name) < UCase(Sheets(Compteur).Name)) Then 
                        Sheets(Boucle).Move before:=Sheets(Compteur) 
                        Exit For 
                    End If 
               EndIf 
           Next Compteur 
        EndIf 
    Next Boucle 
End Sub 


et faite déroulez Fichier, Fermer et retourner à Microsoft Excel.
Puistapez Alt + F8 pour afficher la fenêtre des macros, sélectionnez TrierOnglets et cliquez sur Exécuter.

Voilà ^^ ayez le bon réflexe, Google est votre ami ;)
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour Nico70,

Une macro qui fait automatiquement ce que tu veux :

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Dim f As Integer
For f = 1 To Sheets.Count
    If Sh.[A20].Value > Sheets(f).[A20].Value Then
        Sh.Move before:=Sheets(f)
        Exit For
    End If
Next f
End Sub

Dans Visual Basic Editor, tu copies cette macro dans ThisWorkbook après avoir modifié A20 par l'adresse de ta cellule total (qui doit être identique sur chaque feuille) et chaque fois que tu modifies une feuille, elle est mise à sa place.
0