Programmer menu déroulant avec 3 choix + Changer couleur cellule
Résolu/Fermé
sebastient79
-
20 nov. 2014 à 14:24
sebastient79 Messages postés 6 Date d'inscription dimanche 13 mars 2011 Statut Membre Dernière intervention 25 novembre 2014 - 25 nov. 2014 à 18:02
sebastient79 Messages postés 6 Date d'inscription dimanche 13 mars 2011 Statut Membre Dernière intervention 25 novembre 2014 - 25 nov. 2014 à 18:02
A voir également:
- Programmer menu déroulant avec 3 choix + Changer couleur cellule
- Changer dns - Guide
- Menu déroulant excel - Guide
- Excel cellule couleur si condition texte - Guide
- Changer clavier qwerty en azerty - Guide
- Excel compter cellule couleur sans vba - Guide
4 réponses
via55
Messages postés
14473
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 septembre 2024
2 728
Modifié par via55 le 21/11/2014 à 15:11
Modifié par via55 le 21/11/2014 à 15:11
Bonjour Sebastient
Bonjour Eric
Je pense qu'Eric, salut au passage, a raison tu dois utiliser un formulaire avec cellule liée au lieu d'une simple liste déroulante (utilité du formulaire ?!)
Remplace ce formulaire par une simple validation de donnée dans les cellules de la colonne C (onglets Données Validation de données Autoriser liste et dans source entrer : A commander;En commande;Reçu
Il faut impérativement que les choix soit orthographiés pareils et avec la même casse( minuscules ou majuscules) dans la liste déroulante et dans les lignes de la macro sinon la macro ne s'effectue pas puisqu'elle ne trouve pas de correspondance
Difficile d'en dire plus sans avoir un exemple de ton fichier
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
Bonjour Eric
Je pense qu'Eric, salut au passage, a raison tu dois utiliser un formulaire avec cellule liée au lieu d'une simple liste déroulante (utilité du formulaire ?!)
Remplace ce formulaire par une simple validation de donnée dans les cellules de la colonne C (onglets Données Validation de données Autoriser liste et dans source entrer : A commander;En commande;Reçu
Il faut impérativement que les choix soit orthographiés pareils et avec la même casse( minuscules ou majuscules) dans la liste déroulante et dans les lignes de la macro sinon la macro ne s'effectue pas puisqu'elle ne trouve pas de correspondance
Difficile d'en dire plus sans avoir un exemple de ton fichier
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
eriiic
Messages postés
24595
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
2 septembre 2024
7 234
Modifié par eriiic le 24/11/2014 à 16:49
Modifié par eriiic le 24/11/2014 à 16:49
Bonjour,
pas besoin de vba.
A-priori Validation par liste + MFC (mise en forme conditionnelle) est suffisant.
https://www.cjoint.com/c/DKyq0cRxSS5
eric
PS: pour joindre un fichier le déposer sur cjoint.com et coller ici le lien fourni.
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
pas besoin de vba.
A-priori Validation par liste + MFC (mise en forme conditionnelle) est suffisant.
https://www.cjoint.com/c/DKyq0cRxSS5
eric
PS: pour joindre un fichier le déposer sur cjoint.com et coller ici le lien fourni.
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
sebastient79
Messages postés
6
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
25 novembre 2014
25 nov. 2014 à 18:02
25 nov. 2014 à 18:02
Merci beaucoup Éric et via55.
Ça fonctionne très bien comme cela.
Je pensais être obligé de passer par le VBA pour faire ça. Je ne connaissais pas la Validation de données.
Merci aussi pour CJoint. Je ne connaissais pas ce service.
Bonne journée à vous deux !
Ça fonctionne très bien comme cela.
Je pensais être obligé de passer par le VBA pour faire ça. Je ne connaissais pas la Validation de données.
Merci aussi pour CJoint. Je ne connaissais pas ce service.
Bonne journée à vous deux !
via55
Messages postés
14473
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 septembre 2024
2 728
20 nov. 2014 à 14:47
20 nov. 2014 à 14:47
Bonjour sebastien
Un exemple de macro à mettre dans le worksheet de la feuille concernée
Après avoir mis des listes déroulantes dans la colonne B pour choisir une couleur, à la modification d'une des cellules la macro colore des cellules déterminées selon la couleur choisie (je ne l'ai fait que pour jaune dans l'exemple, à compléter et adapter) ou remet en blanc si on efface la cellule
Cdlmnt
Un exemple de macro à mettre dans le worksheet de la feuille concernée
Après avoir mis des listes déroulantes dans la colonne B pour choisir une couleur, à la modification d'une des cellules la macro colore des cellules déterminées selon la couleur choisie (je ne l'ai fait que pour jaune dans l'exemple, à compléter et adapter) ou remet en blanc si on efface la cellule
Private Sub Worksheet_Change(ByVal Target As Range) ' si pas en colonne 2 sortie de la sub sans rien faire If Target.Column <> 2 Then Exit Sub ' ligne de la cellule modifiée x = Target.Row 'test si la valeur de la cellule cible est Jaune If Target.Value = "Jaune" Then ' alors colorie en jaune les cellules des colonnes C à F et la cellule de la colonne H Range("C" & x & ":F" & x).Interior.ColorIndex = 6 Range("H" & x).Interior.ColorIndex = 6 End If If Target.Value = "" Then ' alors colorie en blanc les cellules des colonnes C à F et la cellule de la colonne H Range("C" & x & ":F" & x).Interior.ColorIndex = 0 Range("H" & x).Interior.ColorIndex = 0 End If End Sub
Cdlmnt
sebastient79
Messages postés
6
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
25 novembre 2014
20 nov. 2014 à 23:00
20 nov. 2014 à 23:00
Bonjour via55,
Merci pour ta réponse. Malheureusement je n'arrive pas à faire fonctionner cette macro.
J'ai mon menu déroulant 3 options:
-À commander
-En commande
-Reçu
Mon menu est dans la colonne B mais pointe sur la colonne C.
La macro rattachée est celle-ci:
Sub Zonecombinée1_QuandChangement(ByVal Target As Range)
' si pas en colonne 3 sortie de la sub sans rien faire
If Target.Column <> 3 Then Exit Sub
' ligne de la cellule modifiée
x = Target.Row
'test si la valeur de la cellule cible est Jaune
If Target.Value = "Reçu" Then
' alors colorie en jaune les cellules des colonnes D à F et la cellule de la colonne H
Range("D" & x & ":F" & x).Interior.ColorIndex = 6
Range("H" & x).Interior.ColorIndex = 6
End If
If Target.Value = "" Then
' alors colorie en blanc les cellules des colonnes D à F et la cellule de la colonne H
Range("D" & x & ":F" & x).Interior.ColorIndex = 0
Range("H" & x).Interior.ColorIndex = 0
End If
End Sub
La cellule de la colonne C rattachée au menu déroulant affiche 1 à 3 selon le choix qui est fait.
Lorsque je change de choix, j'ai un message qui apparaît disant ''Argument non-facultatif''. Les cellules ne changent pas de couleur.
Merci pour ton aide.
Sébastien
Merci pour ta réponse. Malheureusement je n'arrive pas à faire fonctionner cette macro.
J'ai mon menu déroulant 3 options:
-À commander
-En commande
-Reçu
Mon menu est dans la colonne B mais pointe sur la colonne C.
La macro rattachée est celle-ci:
Sub Zonecombinée1_QuandChangement(ByVal Target As Range)
' si pas en colonne 3 sortie de la sub sans rien faire
If Target.Column <> 3 Then Exit Sub
' ligne de la cellule modifiée
x = Target.Row
'test si la valeur de la cellule cible est Jaune
If Target.Value = "Reçu" Then
' alors colorie en jaune les cellules des colonnes D à F et la cellule de la colonne H
Range("D" & x & ":F" & x).Interior.ColorIndex = 6
Range("H" & x).Interior.ColorIndex = 6
End If
If Target.Value = "" Then
' alors colorie en blanc les cellules des colonnes D à F et la cellule de la colonne H
Range("D" & x & ":F" & x).Interior.ColorIndex = 0
Range("H" & x).Interior.ColorIndex = 0
End If
End Sub
La cellule de la colonne C rattachée au menu déroulant affiche 1 à 3 selon le choix qui est fait.
Lorsque je change de choix, j'ai un message qui apparaît disant ''Argument non-facultatif''. Les cellules ne changent pas de couleur.
Merci pour ton aide.
Sébastien
via55
Messages postés
14473
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 septembre 2024
2 728
20 nov. 2014 à 23:12
20 nov. 2014 à 23:12
Re
Ta macro est associée à la colonne 3 mais le test est basé sur une valeur en colonne 2 (Reçu) ça ne peut pas marcher
Soit tu associes cette macro à la colonne 2 et tu changes la ligne If Target.Column <> 3 Then Exit Sub en mettant 2 à la place de 3
Soit tu la laisses associée à colonne 3 mais tu changes If Target.Value = "Reçu" Then en remplaçant "Reçu" par 3 sans guillemets (si 3 est la valeur associé au choix reçu)
Cdlmnt
Ta macro est associée à la colonne 3 mais le test est basé sur une valeur en colonne 2 (Reçu) ça ne peut pas marcher
Soit tu associes cette macro à la colonne 2 et tu changes la ligne If Target.Column <> 3 Then Exit Sub en mettant 2 à la place de 3
Soit tu la laisses associée à colonne 3 mais tu changes If Target.Value = "Reçu" Then en remplaçant "Reçu" par 3 sans guillemets (si 3 est la valeur associé au choix reçu)
Cdlmnt
eriiic
Messages postés
24595
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
2 septembre 2024
7 234
21 nov. 2014 à 00:48
21 nov. 2014 à 00:48
Bonjour,
Bonjour via,
Je me demande si ce n'est pas une boite de dialogue formulaire avec cellule associée en C.
Auquel ca ton choix de Worksheet_Change serait correct, mais sur C, ou alors en y appelant sa macro (?)
Sebastien tu devrais déposer un fichier de travail.
eric
Bonjour via,
Je me demande si ce n'est pas une boite de dialogue formulaire avec cellule associée en C.
Auquel ca ton choix de Worksheet_Change serait correct, mais sur C, ou alors en y appelant sa macro (?)
Sebastien tu devrais déposer un fichier de travail.
eric
sebastient79
Messages postés
6
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
25 novembre 2014
21 nov. 2014 à 14:32
21 nov. 2014 à 14:32
Bonjour Éric,
J'aimerais bien pouvoir partager un fichier mais je ne vois pas comment directement ici. Étant au travail, je ne peux utiliser d'autres outils qui pourraient compromettre la sécurité. La seule façon que je peux faire c'est partager par email.
Merci,
Sébastien
J'aimerais bien pouvoir partager un fichier mais je ne vois pas comment directement ici. Étant au travail, je ne peux utiliser d'autres outils qui pourraient compromettre la sécurité. La seule façon que je peux faire c'est partager par email.
Merci,
Sébastien
sebastient79
Messages postés
6
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
25 novembre 2014
21 nov. 2014 à 14:51
21 nov. 2014 à 14:51
Voici quelques images qui pourraient peut-être aider.
L'idée est de choisir un état dans le menu déroulant pour que les cellules de la ligne où est placé ce menu se colorent de la même couleur que l'une des 3 cellules du haut, selon le choix. Par contre, toutes les cellules ne sont pas colorées mais seulement celles des colonnes F, G et K.
Au lieu d'un menu déroulant, ça pourrait aussi être 3 cases à cocher.
Merci.
L'idée est de choisir un état dans le menu déroulant pour que les cellules de la ligne où est placé ce menu se colorent de la même couleur que l'une des 3 cellules du haut, selon le choix. Par contre, toutes les cellules ne sont pas colorées mais seulement celles des colonnes F, G et K.
Au lieu d'un menu déroulant, ça pourrait aussi être 3 cases à cocher.
Merci.
24 nov. 2014 à 14:48
Malheureusement nous ne devons pas avoir la même version d'Excel car je ne vois pas ce que tu me dis.
''Remplace ce formulaire par une simple validation de donnée dans les cellules de la colonne C (onglets Données Validation de données Autoriser liste et dans source entrer : A commander;En commande;Reçu ''
Je croyais qu'il était relativement facile (dans la mesure où l'on connait ça) d'ajouter un menu déroulant ayant effet sur certaines cases de la ligne où il est placé. Est-ce que je me trompe ?
J'aimerais bien pouvoir vous envoyer un fichier mais il faudrait qu'on m'explique comment autrement que par email.
Malgré tout, c'est aussi simple qu'une ligne avec différentes données dans chacune des cellules. Une cellule servirait de condition pour la couleur des autres (pas toutes mais certaines) situées sur la même ligne. Ça pourrait au pire être un simple texte dans une cellule mais je préfèrerais un menu déroulant qui fait plus professionnel.
Merci encore et désolé pour les inconvénients.
Soit je n'ai pas la bonne version d'Excel, soit je suis encore plus débutant que je ne le croyais.
Bonne journée,
Sébastien