IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Trier par ordre alphabétique des onglets d'une certaine couleur


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 47
    Points : 34
    Points
    34
    Par défaut Trier par ordre alphabétique des onglets d'une certaine couleur
    Bonjour

    J'ai un classeur avec 20 onglets noirs, 5 onglet bleu foncé et 40 onglets bleu clair. Je souhaiterais trier par ordre alphabétique uniquement les onglets bleu clair.

    Pour le tri par ordre alphabétique en lui même, j'ai trouvé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Tri
    For i = 41 to Sheets.Count
    For j = i + 1  to Sheets.Count
    If UCase(Sheets(i)).Name) > UCase(Sheets(j).Name) Then Sheets(j).Move before:=Sheets(i)
    Next j
    Next i
    End Sub
    (Merci à excel-competence.over-blog.com)

    Problème : je n'arrive pas du tout à ne trier que les onglets d'une couleur définie sans mélanger tous les autres onglets.

    Des idées ?

    Merci beaucoup pour votre aide.

  2. #2
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Points : 307
    Points
    307
    Par défaut
    Au moment de faire le tri , tu ajoutes un test sur la couleur d'onglet


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub Tri
    For i = 41 to Sheets.Count
    For j = i + 1  to Sheets.Count
    If UCase(Sheets(i)).Name) > UCase(Sheets(j).Name) and Sheets( i).Tab.ColorIndex = 44 Then Sheets(j).Move before:=Sheets(i)
    Next j
    Next i
    End Sub
    (Je te laisse le soin de remplacer 44 par la couleur de ton fichier)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 47
    Points : 34
    Points
    34
    Par défaut
    Merci !

    Plus exactement, il faut aussi ajouter la condition de couleur à sheets(j) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Tri()
     
    For i = 1 To Sheets.Count
    For j = i + 1 To Sheets.Count
    If UCase(Sheets(i).Name) > UCase(Sheets(j).Name) And Sheets(i).Tab.ColorIndex = 19 And Sheets(j).Tab.ColorIndex = 19 Then Sheets(j).Move before:=Sheets(i)
    Next j
    Next i
    End Sub
    Merci pour tout !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/01/2011, 08h31
  2. Classer une bibliographie par ordre alphabétique des noms
    Par GDMINFO dans le forum Bibliographies - Index - Glossaires
    Réponses: 3
    Dernier message: 16/11/2010, 16h59
  3. Réponses: 11
    Dernier message: 28/06/2010, 11h16
  4. Trier par ordre alphabétique un tableau
    Par barbiche dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 09/03/2007, 17h15
  5. Réponses: 1
    Dernier message: 27/05/2006, 23h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo