Changer la couleur d'un onglet EXCEL selon conditions
Résolu/Fermé
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
-
29 août 2013 à 12:44
Tom188 Messages postés 28 Date d'inscription lundi 24 juin 2013 Statut Membre Dernière intervention 30 août 2013 - 30 août 2013 à 12:10
Tom188 Messages postés 28 Date d'inscription lundi 24 juin 2013 Statut Membre Dernière intervention 30 août 2013 - 30 août 2013 à 12:10
A voir également:
- Excel couleur onglet conditionnelle
- Mise en forme conditionnelle excel - Guide
- Liste déroulante excel - Guide
- Somme si couleur excel - Guide
- Si et excel - Guide
- Rouvrir onglet fermé - Guide
10 réponses
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
29 août 2013 à 15:45
29 août 2013 à 15:45
Bon, t'as essayé un truc mais tu pars de loin, j'ai l'impression...
Colle ceci dans "ThisWorkbook" dans l'éditeur VBA :
Une macro est soit exécutée à la demande (Alt+F8 ou bouton), soit s'exécute automatiquement. Pour ce deuxième moyen, il y a des noms de procédures réservés correspondant à l'action qui la déclenche ; dans ce cas, tout changement de sélection dans une feuille.
On peut adapter le code pour que les onglets se mettent tous dans la bonne couleur lors de la sauvegarde uniquement...
PS : Salutations à pijaku
Colle ceci dans "ThisWorkbook" dans l'éditeur VBA :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If (ActiveSheet.Cells(9, 2) = "Valide" And ActiveSheet.Cells(12, 2) = "Valide") Then ActiveSheet.Tab.ColorIndex = 10 'vert ElseIf (ActiveSheet.Cells(9, 2) = "Non Valide" Or ActiveSheet.Cells(12, 2) = "Non Valide") Then ActiveSheet.Tab.ColorIndex = 3 'rouge Else ActiveSheet.Tab.ColorIndex = 1 'noir End If End Sub
Une macro est soit exécutée à la demande (Alt+F8 ou bouton), soit s'exécute automatiquement. Pour ce deuxième moyen, il y a des noms de procédures réservés correspondant à l'action qui la déclenche ; dans ce cas, tout changement de sélection dans une feuille.
On peut adapter le code pour que les onglets se mettent tous dans la bonne couleur lors de la sauvegarde uniquement...
PS : Salutations à pijaku
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
29 août 2013 à 16:39
29 août 2013 à 16:39
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If (ActiveSheet.Cells(9, 2) = "VALIDE" And ActiveSheet.Cells(12, 2) = "VALIDE" And ActiveSheet.Cells(15, 2) = "VALIDE" And ActiveSheet.Cells(18, 2) = "VALIDE" And ActiveSheet.Cells(21, 2) = "VALIDE" And ActiveSheet.Cells(24, 2) = "VALIDE" And ActiveSheet.Cells(27, 2) = "VALIDE" And ActiveSheet.Cells(30, 2) = "VALIDE" And ActiveSheet.Cells(33, 2) = "VALIDE" And ActiveSheet.Cells(36, 2) = "VALIDE" And ActiveSheet.Cells(39, 2) = "VALIDE" And ActiveSheet.Cells(42, 2) = "VALIDE" And ActiveSheet.Cells(45, 2) = "VALIDE" And ActiveSheet.Cells(48, 2) = "VALIDE") Then ActiveSheet.Tab.ColorIndex = 10 'vert ElseIf (ActiveSheet.Cells(9, 2) = "NON VALIDE" Or ActiveSheet.Cells(12, 2) = "NON VALIDE" Or ActiveSheet.Cells(15, 2) = "NON VALIDE" Or ActiveSheet.Cells(18, 2) = "NON VALIDE" Or ActiveSheet.Cells(21, 2) = "NON VALIDE" Or ActiveSheet.Cells(24, 2) = "NON VALIDE" Or ActiveSheet.Cells(27, 2) = "NON VALIDE" Or ActiveSheet.Cells(30, 2) = "NON VALIDE" Or ActiveSheet.Cells(33, 2) = "NON VALIDE" Or ActiveSheet.Cells(36, 2) = "NON VALIDE" Or ActiveSheet.Cells(39, 2) = "NON VALIDE" Or ActiveSheet.Cells(42, 2) = "NON VALIDE" Or ActiveSheet.Cells(45, 2) = "NON VALIDE" Or ActiveSheet.Cells(48, 2) = "NON VALIDE") Then ActiveSheet.Tab.ColorIndex = 3 'rouge Else ActiveSheet.Tab.ColorIndex = 1 'noir End If End Sub
Mon résultat pour le moment.
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
29 août 2013 à 17:20
29 août 2013 à 17:20
Tu arriverais à écrire un algorithme en français courant ? Après, on le traduit en VBA.
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
30 août 2013 à 07:55
30 août 2013 à 07:55
Non je suis désolé, j'en serais incapable... L'informatique n'est pas mon domaine de compétences et n'ai jamais fait d'algorithme.
Cependant ce que vous m'avez donné est déjà pas mal.
Il faudrait que je l'adapte manuellement à chaque page EXCEL. Je doute que ce soit la meilleure façon mais si elle fonctionne, ça ira. Même si cela demande un peu plus de travail.
Au lieu de l'inscrire dans le WORKSHEET, je peux l'inscrire dans chaque page en adaptant ?
Cependant ce que vous m'avez donné est déjà pas mal.
Il faudrait que je l'adapte manuellement à chaque page EXCEL. Je doute que ce soit la meilleure façon mais si elle fonctionne, ça ira. Même si cela demande un peu plus de travail.
Au lieu de l'inscrire dans le WORKSHEET, je peux l'inscrire dans chaque page en adaptant ?
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
30 août 2013 à 09:23
30 août 2013 à 09:23
Oui, mais si chaque onglet a la même structure, autant ne pas se fatiguer à copier et adapter la macro.
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
30 août 2013 à 09:27
30 août 2013 à 09:27
Certains onglets sont plus court. Ils sont tous formés pareils (B9, B12...) mais certains s'arrêtent plus tôt, par exemple B21
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par pijaku le 30/08/2013 à 08:56
Modifié par pijaku le 30/08/2013 à 08:56
Bonjour,
Une syntaxe, peut être plus facile à adapter :
Cordialement,
Franck
Une syntaxe, peut être plus facile à adapter :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim RngPlageVal As Range, RngCel As Range Dim Valid As Integer, NonValid As Integer 'Ce Range peut être facilement adapté : Set RngPlageVal = Range("B9,B12,B15,B18, B21,B24,B27,B30,B33,B36,B39,B42,B45,B48") 'On va boucler sur toutes les cellules du Range et compter 'les "valide" et "non valide". For Each RngCel In RngPlageVal If RngCel.Value = "VALIDE" Then Valid = Valid + 1 If RngCel.Value = "NON VALIDE" Then NonValid = NonValid + 1 Next 'si le nombre de cellules valides = Nombre de cellule de notre plage 'Autrement dit : Si toutes les cellules de notre plage sont "valides" If Valid = RngPlageVal.Cells.Count Then 'alors vert ActiveSheet.Tab.ColorIndex = 10 'vert 'Si Une et Une seule cellule est Non Valide Alors ElseIf NonValid = 1 Then ActiveSheet.Tab.ColorIndex = 3 'rouge 'Dans tous les autres cas : Else ActiveSheet.Tab.ColorIndex = 1 'noir End If End Sub
Cordialement,
Franck
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
30 août 2013 à 09:21
30 août 2013 à 09:21
Bonjour pijaku / Franck,
Je pense que c'est bien vu de définir la plage de cette façon.
Toutefois, je crois que Tom souhaite tolérer que les cellules soient vides (et donc avoir un onglet vert). Un booléen pour voir si on rencontre autre chose que "VALIDE" ou une cellule vide me semble plus approprié.
Tom188, peux-tu confirmer le besoin souligné ?
Je pense que c'est bien vu de définir la plage de cette façon.
Toutefois, je crois que Tom souhaite tolérer que les cellules soient vides (et donc avoir un onglet vert). Un booléen pour voir si on rencontre autre chose que "VALIDE" ou une cellule vide me semble plus approprié.
Tom188, peux-tu confirmer le besoin souligné ?
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
30 août 2013 à 09:25
30 août 2013 à 09:25
Bonjour,
Si la formation n'est pas faite, par exemple en B21 et que la cellule est vide. L'onglet doit être noir.
Vert si tout est VALIDE
Rouge si un seul NON VALIDE (même si des cellules sont vides comme B21)
Noir si incomplet.
J'espère être clair, je suis conscient que mes explications pour des experts doivent pas être évidentes...
Si la formation n'est pas faite, par exemple en B21 et que la cellule est vide. L'onglet doit être noir.
Vert si tout est VALIDE
Rouge si un seul NON VALIDE (même si des cellules sont vides comme B21)
Noir si incomplet.
J'espère être clair, je suis conscient que mes explications pour des experts doivent pas être évidentes...
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
Modifié par Tom188 le 30/08/2013 à 09:18
Modifié par Tom188 le 30/08/2013 à 09:18
Cela fonctionne également.
Je n'arrive cependant pas à la faire fonctionner pour les onglets n'ayant par exemple que B9,B12,B15,B18, B21,B24,B27,B30,B33,B36
Car les B39,B42,B45,B48 n'étant pas remplis, l'onglet reste au noir.
Dois je copier la formule dans les code de chaque page et l'adapter ?
Je vous remercie.
J'ai déjà énormément avancé.
Je n'arrive cependant pas à la faire fonctionner pour les onglets n'ayant par exemple que B9,B12,B15,B18, B21,B24,B27,B30,B33,B36
Car les B39,B42,B45,B48 n'étant pas remplis, l'onglet reste au noir.
Dois je copier la formule dans les code de chaque page et l'adapter ?
Je vous remercie.
J'ai déjà énormément avancé.
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
30 août 2013 à 09:42
30 août 2013 à 09:42
Tu peux copier, mais idéalement, il faudrait distinguer s'il est normal ou pas que B39,B42,B45,B48 soient vides.
Par exemple en lisant ton fichier, comment vois-je que Gérard DUPONT n'a pas passé la formation B39 mais que c'est normal ? Alors que pour Michel DURAND, B39 est aussi vide mais il devrait passer la formation..
Par exemple en lisant ton fichier, comment vois-je que Gérard DUPONT n'a pas passé la formation B39 mais que c'est normal ? Alors que pour Michel DURAND, B39 est aussi vide mais il devrait passer la formation..
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
30 août 2013 à 09:51
30 août 2013 à 09:51
C'est un peu plus vicieux. C'est pas qu'il soit normal ou anormal, c'est que leur poste ne les amènera jamais à passer ces formations. Donc la tableau s'arrête plus tôt. Les mentions ne sont pas les mêmes selon les agents.
Pour compléter, je dirais que l'onglet doit être VERT pour toutes les formations qu'un agents lambda doit VALIDER. Un agent peut avoir un tableau allant jusque B21, un autre jusque B48 etc...
La longueur des tableaux n'est pas forcément la même selon les agents. Mais c'est toujours les mêmes cellules qui sont remplies (la première est forcément B9, la seconde 3 cellules plus bas...) seulement il ne peut y en avoir que 4 ou 5 ou...
J'essaie d'être au maximum clair ;)
Pour compléter, je dirais que l'onglet doit être VERT pour toutes les formations qu'un agents lambda doit VALIDER. Un agent peut avoir un tableau allant jusque B21, un autre jusque B48 etc...
La longueur des tableaux n'est pas forcément la même selon les agents. Mais c'est toujours les mêmes cellules qui sont remplies (la première est forcément B9, la seconde 3 cellules plus bas...) seulement il ne peut y en avoir que 4 ou 5 ou...
J'essaie d'être au maximum clair ;)
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
30 août 2013 à 10:02
30 août 2013 à 10:02
ça j'avais à peu près compris, ce qui serait bien pour produire une macro unique, c'est un truc qui saute aux yeux indiquant que l'agent A n'a pas besoin d'avoir plus de formation que jusque B21. Par exemple, en B24, indiquer : "pas d'autre formation nécessaire".
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
30 août 2013 à 10:09
30 août 2013 à 10:09
Je pourrais indiquer un STOP oui.
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
30 août 2013 à 10:43
30 août 2013 à 10:43
Si tu écris "STOP", tu peux essayer le code suivant :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim Valid As Integer, NonValid As Integer, couleur_onglet As Integer, ligne As Integer couleur_onglet = 10 'vert par défaut NonValid = 0 For ligne = 9 To 48 Step 3 If (ActiveSheet.Cells(ligne, 2).Value <> "VALIDE" And ActiveSheet.Cells(ligne, 2).Value <> "NON VALIDE" And ActiveSheet.Cells(ligne, 2).Value <> "STOP") Then 'cellule vide ou de contenu anormal couleur_onglet = 1 'noir Exit For ElseIf ActiveSheet.Cells(ligne, 2).Value = "NON VALIDE" Then couleur_onglet = 3 'rouge NonValid = NonValid + 1 If NonValid = 2 Then couleur_onglet = 1 'noir Exit For End If ElseIf ActiveSheet.Cells(ligne, 2).Value = "STOP" Then Exit For End If Next ligne ActiveSheet.Tab.ColorIndex = couleur_onglet End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
29 août 2013 à 13:27
29 août 2013 à 13:27
Bonjour,
Les "conditions" pour attribuer la couleur sont trop vagues pour qu'on te fournisse un code tout fait, mais tu peux t'inspirer d'autres sujets approchants, p. ex. : https://forums.commentcamarche.net/forum/affich-12887761-excel-couleur-onglet-en-fonction-cellule
Les "conditions" pour attribuer la couleur sont trop vagues pour qu'on te fournisse un code tout fait, mais tu peux t'inspirer d'autres sujets approchants, p. ex. : https://forums.commentcamarche.net/forum/affich-12887761-excel-couleur-onglet-en-fonction-cellule
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
29 août 2013 à 13:34
29 août 2013 à 13:34
Merci.
En fait, je remplis dans un fichier si l'agent en question à passé la formation.
Une fois Date, type et état rempli, une cellule se met "Valide".
Si une de ces 3 cellules n'est pas remplie, il met 'Non Valide'.
Si rien n'est rempli, il laisse vide.
C'est cette cellule qui change (il y en a donc plusieurs, une pour chaque formation), qui doit etre prise en compte.
Dans la page, une fois toutes les formations "Valide", l'onglet doit devenir vert.
En fait, je remplis dans un fichier si l'agent en question à passé la formation.
Une fois Date, type et état rempli, une cellule se met "Valide".
Si une de ces 3 cellules n'est pas remplie, il met 'Non Valide'.
Si rien n'est rempli, il laisse vide.
C'est cette cellule qui change (il y en a donc plusieurs, une pour chaque formation), qui doit etre prise en compte.
Dans la page, une fois toutes les formations "Valide", l'onglet doit devenir vert.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
29 août 2013 à 14:51
29 août 2013 à 14:51
Bonjour,
Je rejoins Zoul67 (que je salue au passage), pour te dire :
Les "conditions" pour attribuer la couleur sont trop vagues pour qu'on te fournisse un code tout fait
Tu dis :
* Si une de ces 3 cellules n'est pas remplie, il met 'Non Valide'
Ceci amène deux questions :
>Qu'elles cellules doivent être complétées?
>Dans qu'elle cellule est affiché 'Non Valide'?
* C'est cette cellule qui change (il y en a donc plusieurs, une pour chaque formation)
Ceci amène deux questions :
> Qu'elle cellule change?
> Il y en a plusieurs : lesquelles?
Il nous faut donc les adresses précises de toutes ces cellules concernées, du genre : A1, B1, C1 etc, et à quoi elles correspondent...
Ou alors, au minimum, de combien de fois 'Valide' doit être écrit dans ta feuille pour que l'onglet cchange de couleur.
Ou encore....
Désolé, nous n'avons pas encode de boule de cristal...
Je rejoins Zoul67 (que je salue au passage), pour te dire :
Les "conditions" pour attribuer la couleur sont trop vagues pour qu'on te fournisse un code tout fait
Tu dis :
* Si une de ces 3 cellules n'est pas remplie, il met 'Non Valide'
Ceci amène deux questions :
>Qu'elles cellules doivent être complétées?
>Dans qu'elle cellule est affiché 'Non Valide'?
* C'est cette cellule qui change (il y en a donc plusieurs, une pour chaque formation)
Ceci amène deux questions :
> Qu'elle cellule change?
> Il y en a plusieurs : lesquelles?
Il nous faut donc les adresses précises de toutes ces cellules concernées, du genre : A1, B1, C1 etc, et à quoi elles correspondent...
Ou alors, au minimum, de combien de fois 'Valide' doit être écrit dans ta feuille pour que l'onglet cchange de couleur.
Ou encore....
Désolé, nous n'avons pas encode de boule de cristal...
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
29 août 2013 à 15:00
29 août 2013 à 15:00
Au temps pour moi.
Par exemple je remplis : D7(type de formation), D8(date), et D9 (valide, non valide) et ainsi B9 se remplis "Valide" (seulement si les 3 sont remplies).
Si D7 et ou D8 ne sont pas remplies, alors B9 reste vierge.
Si D9 est remplie "Non Valide" alors B9 est également remplie en "Non Valide".
C'est en fonction de B9 que doit être choisie la couleur de l'onglet car il prend en compte toutes les conditions.
Ceci est pour une formation, pareil pour D10, D11et D12 ou B12 se remplie en fonction.
Une fois que B9 et B12 sont "Valide" l'onglet doit être vert. Si l'un des deux est vierge, l'onglet ne change pas. Si l'un des deux ou tous sont "Non Valide" l'onglet doit être rouge.
Par exemple je remplis : D7(type de formation), D8(date), et D9 (valide, non valide) et ainsi B9 se remplis "Valide" (seulement si les 3 sont remplies).
Si D7 et ou D8 ne sont pas remplies, alors B9 reste vierge.
Si D9 est remplie "Non Valide" alors B9 est également remplie en "Non Valide".
C'est en fonction de B9 que doit être choisie la couleur de l'onglet car il prend en compte toutes les conditions.
Ceci est pour une formation, pareil pour D10, D11et D12 ou B12 se remplie en fonction.
Une fois que B9 et B12 sont "Valide" l'onglet doit être vert. Si l'un des deux est vierge, l'onglet ne change pas. Si l'un des deux ou tous sont "Non Valide" l'onglet doit être rouge.
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
29 août 2013 à 15:03
29 août 2013 à 15:03
J'ai essayé quelque chose comme :
Qui ne prend évidemment pas toutes les conditions mais quand je l'execute, EXCEL me demande de créer une macro et ainsi je ne peux pas la faire fonctionner. Je dois mal m'y prendre pour ouvrir ou enregistrer une macro sou worksheet_change
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$9" Then If Target.Value = VALIDE Then ActiveSheet.Tab.ColorIndex = 3 Else ActiveSheet.Tab.ColorIndex = xlNone End If End If End Sub
Qui ne prend évidemment pas toutes les conditions mais quand je l'execute, EXCEL me demande de créer une macro et ainsi je ne peux pas la faire fonctionner. Je dois mal m'y prendre pour ouvrir ou enregistrer une macro sou worksheet_change
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
29 août 2013 à 15:04
29 août 2013 à 15:04
Au temps pour moi.
Par exemple je remplis : D7(type de formation), D8(date), et D9 (valide, non valide) et ainsi B9 se remplis "Valide" (seulement si les 3 sont remplies).
Si D7 et ou D8 ne sont pas remplies, alors B9 reste vierge.
Si D9 est remplie "Non Valide" alors B9 est également remplie en "Non Valide".
C'est en fonction de B9 que doit être choisie la couleur de l'onglet car il prend en compte toutes les conditions.
Ceci est pour une formation, pareil pour D10, D11et D12 ou B12 se remplie en fonction.
Une fois que B9 et B12 sont "Valide" l'onglet doit être vert. Si l'un des deux est vierge, l'onglet ne change pas. Si l'un des deux ou tous sont "Non Valide" l'onglet doit être rouge.
Par exemple je remplis : D7(type de formation), D8(date), et D9 (valide, non valide) et ainsi B9 se remplis "Valide" (seulement si les 3 sont remplies).
Si D7 et ou D8 ne sont pas remplies, alors B9 reste vierge.
Si D9 est remplie "Non Valide" alors B9 est également remplie en "Non Valide".
C'est en fonction de B9 que doit être choisie la couleur de l'onglet car il prend en compte toutes les conditions.
Ceci est pour une formation, pareil pour D10, D11et D12 ou B12 se remplie en fonction.
Une fois que B9 et B12 sont "Valide" l'onglet doit être vert. Si l'un des deux est vierge, l'onglet ne change pas. Si l'un des deux ou tous sont "Non Valide" l'onglet doit être rouge.
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
29 août 2013 à 15:13
29 août 2013 à 15:13
Je rajouterais qu'il est important de prendre B9 et B12 en référence car lorsque je rajoute une date de recyclage pour la formation en E7, E8 et E9 par exemple => B9 prend la dernière valeur, soit E9 et plus D9 pour inscrire "Valide" ou "Non Valide"
En lançant la macro, l'onglet doit soit rester au vert ou virer au rouge si l'agent n'est plus valide.
En lançant la macro, l'onglet doit soit rester au vert ou virer au rouge si l'agent n'est plus valide.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
29 août 2013 à 15:18
29 août 2013 à 15:18
Très bien.
On avance.
Encore une question :
Comment B9 et B12 changent ils?
Par formule? Par saisie? Par macro? Autrement?
On avance.
Encore une question :
Comment B9 et B12 changent ils?
Par formule? Par saisie? Par macro? Autrement?
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
29 août 2013 à 15:42
29 août 2013 à 15:42
Ils changent avec cela :
=SI(B8="Non évalué";"";RECHERCHE(B8;D8:M8;D9:M9))
=SI(B8="Non évalué";"";RECHERCHE(B8;D8:M8;D9:M9))
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
29 août 2013 à 16:00
29 août 2013 à 16:00
Ca fonctionne plutôt bien merci bcp.
Imaginons qu'au lieu d'avoir juste B9 et B12 j'ai également B15, B18 ... B48
Je ne peux pas tout copier dans une seule ligne, ça bloque à un moment.
Sinon ça fonctionne.
J'avais un peu minimiser le pbm pour que ce soit plus simple à expliquer pour moi ... ;)
Imaginons qu'au lieu d'avoir juste B9 et B12 j'ai également B15, B18 ... B48
Je ne peux pas tout copier dans une seule ligne, ça bloque à un moment.
Sinon ça fonctionne.
J'avais un peu minimiser le pbm pour que ce soit plus simple à expliquer pour moi ... ;)
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
29 août 2013 à 16:27
29 août 2013 à 16:27
C'est toujours les multiples de 3 de 9 à 48 ou ça peut aller plus loin ?
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
29 août 2013 à 16:36
29 août 2013 à 16:36
ça ne va pas plus loin que 48.
Ca fonctionne bien pour le moment.
Cependant (petite difficulté supplémentaire...) lorsque pour un agent ça ne va que jusque 32 par exemple. L'onglet reste noir alors que tout est au vert...
Je pense que la formule continue quand même...
Ce n'est problématique que pour les VALIDE car, de toute façon, un seul NON VALIDE rend rouge mais je pense que TOUT doit être VALIDE pour etre vert même ceux n'existant pas sur certaines pages...
Enfin c'est déjà super quand même !!
Ca fonctionne bien pour le moment.
Cependant (petite difficulté supplémentaire...) lorsque pour un agent ça ne va que jusque 32 par exemple. L'onglet reste noir alors que tout est au vert...
Je pense que la formule continue quand même...
Ce n'est problématique que pour les VALIDE car, de toute façon, un seul NON VALIDE rend rouge mais je pense que TOUT doit être VALIDE pour etre vert même ceux n'existant pas sur certaines pages...
Enfin c'est déjà super quand même !!
Tom188
Messages postés
28
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
30 août 2013
5
29 août 2013 à 16:37
29 août 2013 à 16:37
Car j'ai copié/collé la formule pour VALIDE et NON VALIDE jusque 48, ça fonctionne mais quand il n'y en a que 32 par exemple, ça ne fonctionne pas si tout est valide quand même...
29 août 2013 à 15:50
Je l'ai collé dans ThisWorkbook.
Pour la faire fonctionner, j'ai essayé d'appuyer sur le "Play" mais une fenêtre d'ouvre "Macro" ou je dois rentrer un nom...
29 août 2013 à 15:55
29 août 2013 à 16:00
29 août 2013 à 16:02