XL 2013 Effectuer un tri dans les onglets, en fonction de la couleur qui lui a été attribuée

diroz

XLDnaute Nouveau
Bonjour,

Je travaille actuellement sur une fichier Excel assez important, qui répertorie presque 200 feuilles (ou onglets) -> 1 feuille par entreprise ou sous-traitant avec qui mon organisme travaille.
J'ai effectué une sorte de classement de ces entreprises en leur attribuant une couleur d'onglet spécifique (4 couleurs différentes).

Existe t'il un moyen de masquer les feuilles d'une certaine couleur ou de ne voir apparaitre que celles d'une couleur spécifique?

Je vous remercie par avance pour votre aide.

Bien à vous,

AlexG
 

xUpsilon

XLDnaute Occasionnel
Bonjour,

Je te conseille de faire une boucle de ce genre :
VB:
For i = 1 to 200
    If Worksheets(i).Color = RGB(x,x,x) Then
        Worksheet(i).Visible = xlSheetHidden
    End if
Next i
Avec dans RGB les valeurs de la couleur concernée.

Bonne continuation
 

Roblochon

XLDnaute Accro
Bonjour,

Ces feuilles ont des noms. Non ? Noms de Client Peut-être ? Pourquoi ne pas les utiliser ?

Masque "Eric DushMoll" est plus explicite que Cacher "rouge". A moins que vous aimiez l'obscurité... qui parfois est nécessaire.

Avec un classeur exemple ce serait plus facile de vous aiguiller.

A vous relire

[Edit] Au temps pour moi, j'avais pas compris qu'il s'agissait de 'groupe de clients ou feuilles'
 

xUpsilon

XLDnaute Occasionnel
J'imagine que le souci ici est que plusieurs entreprises aux noms très variés doivent avoir la même couleur (probablement triées par intérêt financier ou je ne sais quel autre critère)
Mais sinon c'est sûr que trier par nom serait encore plus rapide.

Bonne continuation
 

ChTi160

XLDnaute Barbatruc
Bonjour
Bonjour el Fil ,le Forum
ou un trux du genre
VB:
Option Explicit
Dim i As Byte
Sub test()
For i = 1 To Worksheets.Count
     With Worksheets(i)
        If .Tab.ColorIndex = 3 Then  'Si couleur est Rouge
           .Visible = xlVeryHidden 'On masque
          Else
           .Visible = True 'Si autre couleur on affiche
        End If
     End With
Next 'i
End Sub
jean marie
 

xUpsilon

XLDnaute Occasionnel
Bonjour,

Arrête moi si je me trompe mais il a plutôt intéret à avoir un
VB:
.visible = xlHidden
plutôt que veryHidden, sinon il va avoir du mal à le ressortir à la main non ? (je veux dire, veryHidden fait que l'onglet n'est plus accessible dans le menu "Afficher" de la barre des onglets si je ne m'abuse)

Bonne continuation
 

ChTi160

XLDnaute Barbatruc
Re effectivement
je ne sais pas comment il utilise le fichier Lol
xlVeryHidden
les Feuilles masquées par
xlVeryHidden
accessibles que par Macro!
donc il adapte a son utilisation
jean marie
 

diroz

XLDnaute Nouveau
Bonjour,

Tout d'abord, je vous remercie de votre réactivité et de vos retours.

Je dois vous avouer que je suis novice en Excel, et que vos indications sont peu compréhensibles pour moi (c'est moi que je mets en défaut, absolument pas vous:)). J'ai beau essayer de créer une macro et je n'y arrive pas...

Pour vous donner une vision plus claire de ce que je cherche à faire, je vous transmets un fichier Excel d'exemple.
En effet, plusieurs entreprises aux noms très variés ont la même couleur.

Merci infiniment pour votre aide.

Alexandra
 

Fichiers joints

ChTi160

XLDnaute Barbatruc
Re
avec juste ça , on va pas avancer beaucoup ! Lol
pas de feuille Accueil par exemple ?
comment vois tu la manière de manipuler ton fichier?(des Boutons , un Userform)
jean marie
 

diroz

XLDnaute Nouveau
Bonjour,

Si j'ai une feuille accueil qui répertorie des indicateurs. Vous comprendrez que je ne peux pas partager le fichier d'origine.
 

patricktoulon

XLDnaute Impliqué
bonjour
oui on comprends mais tu a fait un exemple bidon va jusqu'au bout met nous un acceuil bidon avec le contexte userform, bouton ,shape etc.....
bref une esquisse de l'interface que tu souhaiterait ( Dans le sheets acceuil ou autre )
 

xUpsilon

XLDnaute Occasionnel
Il serait peut-être pratique d'avoir une feuille à part, sur laquelle on répertorie toutes les couleurs et avec un ToggleButton à coté de chaque couleur. Comme ça tu sélectionnes couleur par couleur si tu veux afficher les onglets de cette couleur ou pas.

Bonne continuation
 

diroz

XLDnaute Nouveau
Ceci est une très bonne idée... Sans vouloir abuser de votre temps et patience, accepteriez- vous de m'orienter dans la création d'un Toggle Button puis dans la procédure à suivre pour l'affichage/masquage des onglets? Je vous remercie.
Bien à vous,
 

ChTi160

XLDnaute Barbatruc
Bonjour diroz
Bonjour le fil ,le Forum
un fichier representatif (quelques feuilles)anonymise avec quelques explications ferait l affaire non ?
mais bon.
jean marie
 

xUpsilon

XLDnaute Occasionnel
Je suis d'accord qu'un fichier anonymisé serait le bienvenu, après je le retravaille et je t'envoie un premier jet diroz.

Bonne journée
 

diroz

XLDnaute Nouveau
Bonjour xUpsilon et Chti160, ci-joint comme demandé un fichier anonymise.
Merci beaucoup pour vos retours, j'espère que mes explications sont relativement claire :)
 

Fichiers joints

xUpsilon

XLDnaute Occasionnel
Bonjour diroz

Après plusieurs essais, il apparait que seules les 56 couleurs "basiques" et la couleur xlColorIndexNone sont acceptées par Excel. On ne peut donc pas fixer la condition sur n'importe quelle couleur, qu'on aurait défini par ses indices RGB.

Sinon, pas de souci, le code de ChTi160 proposé plus haut fonctionne nickel.

Bonne continuation
 

xUpsilon

XLDnaute Occasionnel
Bonjour,

Va dans l'onglet Développeur, puis insère un contrôle activeX "ToggleButton". Ensuite (en mode créateur), clique droit sur le toggle button et "visualiser le code". Ensuite tu rentres le code de ChTi160 dedans.

Bonne continuation
 

Discussions similaires


Haut Bas