Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 colorer des onglets

fantasio

XLDnaute Nouveau
Bonjour à tous

Je souhaiterai que mes onglets se colorent en rouge si la valeur de la cellule A1 est supérieur à 0.

J'ai 22 onglets sur ma page
dans la mesure du possible je souhaiterai appliquer cette condition à l'ensemble de mon fichier


Merci d'avance pour votre aide
 

fantasio

XLDnaute Nouveau
tout est renommable sur mon fichier

Chaque onglet avec le nom des bases - peut etre renommer - ex : 1, 2 , 3, etc

Je ne travaille qu'avec l'onglet commande et l'onglet "DATE et lot"

Tous les autres onglets sont une recap de la saisie de l'onglet commande et permet d'imprimer des fiches palettes UNIQUEMENT si nécessaire - d'où la couleur

Du moment que je visualise rapidement l'onglet - les onglets peuvent s'appeler différement - si cela doit faciliter votre travail
 

TooFatBoy

XLDnaute Barbatruc
tout est renommable sur mon fichier

Chaque onglet avec le nom des bases - peut etre renommer - ex : 1, 2 , 3, etc
Pour pouvoir colorier l'onglet il est plus simple de connaître son nom, sinon il faut colorier tous les onglets à chaque changement de valeur dans ton tableau.
Avec seulement 22 onglets à colorier ça devrait aller vite.
 
Dernière édition:

vgendron

XLDnaute Barbatruc
Je pense qu'il faut que tu fasses l'effort de comprendre (au moins essayer) les codes proposés
par exemple, mon post #27 qui, si j'ai bien compris la demande y répond

pour faciliter notre travail... il suffit que tu travailles toi un minimum
on te dit de mettre des noms dans ta colonne B de la feuille commande qui correspondent au noms de tes onglets

et si tu comprends bien le code, tu verras que tu peux meme laisser le nombre avec le nom de l'onglet
 

TooFatBoy

XLDnaute Barbatruc
Le plus simple, pour l'utilisateur, serait peut-être d'avoir :
- une seule feuille-modèle pour les "étiquettes",
- toutes les données dans le tableau,
- une colonne en plus, dont les cellules passent en rouge et permettent d'imprimer l'étiquette correspondante.
 

vgendron

XLDnaute Barbatruc
Je m'apercois simplement que le forum n'est pas adapté aux boetiens d'EXCEL.
tu as pourtant l'intégralité de la solution dans les différents post
1) le code
2) l'endroit où il faut le placer


par contre.. si tu attends une solution clés en main, ou tout est fait à ta place sans que tu n'aies strictement rien à faire, effectivement, tu te trompes de site
 

fantasio

XLDnaute Nouveau
j'ai des codes
#21 - 25 - 26 - 27 -28
ou des bouts de codes
j'ai bien compris que ma colonne B et mes onglets doivent avoir le meme nom mais apres
je ne sais plus quel code je dois recopier

@vegedron
tu me dis de faire l'effort de comprendre le code .... mais j'en suis incapable...
je n'ai aucune notion dans ce domaine

du coup, il faut que je copie quoi le #27 ?

je suis admiratif de votre travail à tous et je comprends que ca vous evenrve d'etre face à un ignare .
d ou mon poste précédent, de lacher l'affaire
 

vgendron

XLDnaute Barbatruc
procédure

1) ouvrir l'éditeur VBA (Alt+F11)
2) dans le code de la feuille commande, copier le code du post 27
3) enregistrer le fichier au format xlsM (m comme macro), sinon, la macro ne sera pas sauvegardée
 

vgendron

XLDnaute Barbatruc
le code du post 27 avec des commentaires
VB:
Private Sub Worksheet_Change(ByVal Target As Range) 'se déclenche dès qu'une cellule est modifiée
If Not Intersect(Range("C6:F27"), Target) Is Nothing Then 'si la cellule modifiée (target) est dans la plage C6:F27
        lig = Target.Row 'récupère le numéro de ligne de la cellule
        ToColor = WorksheetFunction.Sum(Cells(lig, 2).Offset(0, 1).Resize(, 4)) <> 0 'on calcule la somme des colonnes C à F de la ligne, si cette somme<>0, on met la variable ToColor à vrai, sinon,faux
        onglet = VBA.Trim(Split(Cells(lig, 2), Chr(10))(0)) 'on récupère le nom de l'onglet dans la colonne B de la ligne: on sépare le contenu pour récuperer la première partie (SANS le numéro), laquelle doit etre IDENTIQUE au nom de l'onglet
        On Error Resume Next 'si l'onglet n'existe pas, par exemple
        
        Worksheets(onglet).Tab.Color = IIf(ToColor, vbRed, xlNone) 'on met l'onglet en rouge OU sans couleur
    End If
End Sub
 

TooFatBoy

XLDnaute Barbatruc
je suis admiratif de votre travail à tous et je comprends que ca vous énerve d'être face à un ignare .
d ou mon poste précédent, de lacher l'affaire
Ca peut effectivement arriver quand on tombe sur quelqu'un qui ne fait pas le moindre effort, mais ce n'est pas le cas ici.
D'ailleurs si c'était le cas, on aurait quitté le fil de discussion depuis longtemps.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…