Petit problème de trie d'onglets

Bonjour à tous,

Grace à l'entraide du forum une petite macro me trie mes onglets, à la suite j'ai fixé la position des 19 premiers onglets.

Lors du trie mes onglets commençant par "_" se retrouvent classés à la fin de mon classeur.

J'aimerai remonter mes onglets "_Synthese_2014","_Synthese_2015", ect....à partir de la position n°20.

Mon problème est de remonté ces onglets qui s’incrémentent tous les ans sans avoir à fixer, dans la macro, l'année.

Voici le code actuellement utilisé

Sub onglet ()
Dim a As Integer, b As Integer
Application.ScreenUpdating = False

affiche_tous ' affiche tous les onglets de mon classeur

For a = 1 To Sheets.Count
    For b = a + 1 To Sheets.Count
        If UCase(Sheets(a).Name) > UCase(Sheets(b).Name) Then
            Sheets(b).Move Before:=Sheets(a)
        End If
    Next b
Next a

    Sheets("Sources").Move Before:=Sheets(1)
    Sheets("Bienvenue").Move Before:=Sheets(2)
    Sheets("Modele_CALE").Move Before:=Sheets(3)
    Sheets("Modele_CALS").Move Before:=Sheets(4)
    Sheets("Modele_Cen").Move Before:=Sheets(5)
    Sheets("Modele_Enc").Move Before:=Sheets(6)
    Sheets("Modele_Mic").Move Before:=Sheets(7)
    Sheets("Modele_Pce").Move Before:=Sheets(8)
    Sheets("Modele_Pip").Move Before:=Sheets(9)
    Sheets("Modele_PDP").Move Before:=Sheets(10)
    Sheets("Modele_Rev").Move Before:=Sheets(11)
    Sheets("Modele_Son").Move Before:=Sheets(12)
    Sheets("Modele_Synthese_PDP").Move Before:=Sheets(13)
    Sheets("Synthese des centrifugeuses").Move Before:=Sheets(14)
    Sheets("Synthese des enceintes").Move Before:=Sheets(15)
    Sheets("Synthese des microscopes").Move Before:=Sheets(16)
    Sheets("Synthese des pipettes").Move Before:=Sheets(17)
    Sheets("Synthese des réveils&minuteurs").Move Before:=Sheets(18)
    Sheets("Synthese des sondes").Move Before:=Sheets(19)
    MsgBox "Travail terminé !"
End sub

j'avais pensé à utiliser quelques chose comme

Left(.Name,10 ) = "_Synthese_"= sheets (20) mais très manisfestement ma syntaxe n'est pas bonne si quelqu’un à une petite idée je suis preneur.

Si il y a besoin d'un exemple j’essaierai de créer un fichier d'un trentaine d'onglets et de le poster sur cjoint

Merci,

Edlede

Bonjour,

je corrige juste un peu la syntaxe pour déplacer les feuilles :

for i = 20 to Sheets.Count
  if Left(sheets(i).name , 10 ) = "_Synthese_" then
      Sheets(i).Move Before:=Sheets(20)
  end if
next i 

sa déplacera vous onglet "_Synthese_2014","_Synthese_2015", ect....à partir de la position n°20. mais pas dans l'ordre chronologie

Bonjour,

Tu procèdes à un tri d'abord, qui classe par ordre alpha... suivi d'un nouveau reclassement qui fait une dérogation à cet ordre...

Cela fait beaucoup de manoeuvres dont certaines ne sont pas utiles.

Pour les noms en _xxx, elles débutent en effet par le caractère 95 qui vient à la suite des lettres majuscules (65 à 90) dans l'ordre "binaire"...

Un classeur n'est pas nécessaire, mais une liste exhaustive de tes onglets, et l'ordre dans lequel tu les veux, si.

Je pense d'autre part qu'opérer un classement à partir de la liste est préférable : on n'intervient sur les feuilles qu'à la fin, pour les mettre dans l'ordre de la liste triée.

Cordialement.

Bonjour minance

c'est tellement simple que je mérite le fouet,

Merci c'est parfait,

Edlede


MFerrand a écrit :

Pour les noms en _xxx, elles débutent en effet par le caractère 95 qui vient à la suite des lettres majuscules (65 à 90) dans l'ordre "binaire"...

c'est toujours bon a prendre comme info,

Je pense d'autre part qu'opérer un classement à partir de la liste est préférable : on n'intervient sur les feuilles qu'à la fin, pour les mettre dans l'ordre de la liste triée.

Cordialement

il faux que je references tous les noms d'onglet et que j'applique le trie dessus?

Mon nombre d'onglet augmente régulièrement, j'ai mal conçu mon fichier il y a 2 ans, et je ne connaissais pas les possibilités d'excel à ce moment là.

Galopin01 à déjà regarder ca et m'a expliqué mes erreurs de construction,( j 'ai un onglet par équipement sur 7 modeles différents) mais par manque de temps ( je change de boulot dans 10 jours!) j'essaie de laissé un fichier qui fonctionne pas trop mal avec ces 500 onglets....

Encore merci à vous pour les explications

minanse a écrit :

. mais pas dans l'ordre chronologie

En fait Si, vu que je classe tous les onglets en alpha numérique avant. Ils se retrouvent parfaitement classés

Rechercher des sujets similaires à "petit probleme trie onglets"