Excel: condition sur champs lié à bouton
Résolu
mod77
Messages postés
1284
Date d'inscription
Statut
Membre
Dernière intervention
-
mod77 Messages postés 1284 Date d'inscription Statut Membre Dernière intervention -
mod77 Messages postés 1284 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un groupe de 2 boutons lié à une case B1, par exemple.
Et j'ai 2 groupes de 3 boutons lié respectivement avec la case B2 et B3.
Si la case B1=1 alors la case B2 prend la valeur du bouton. Mais si B1=2 alors B2 doit être égal à 3.
Pour résumer comment puis-je faire une condition sur une case lié à des boutons.
J'ai essayé un banal si: "si(B1=2;3;"")" mais je ne sais pas quoi mettre en 2e choix.
Quelqu'un serait-il m'aider SVP?
Merci
J'ai un groupe de 2 boutons lié à une case B1, par exemple.
Et j'ai 2 groupes de 3 boutons lié respectivement avec la case B2 et B3.
Si la case B1=1 alors la case B2 prend la valeur du bouton. Mais si B1=2 alors B2 doit être égal à 3.
Pour résumer comment puis-je faire une condition sur une case lié à des boutons.
J'ai essayé un banal si: "si(B1=2;3;"")" mais je ne sais pas quoi mettre en 2e choix.
Quelqu'un serait-il m'aider SVP?
Merci
A voir également:
- Excel: condition sur champs lié à bouton
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
13 réponses
Bonjour,
Je ne sais pas ce que sont tes boutons (tu parles de groupe de boutons... ce sont des boutons d'option ???), en tout état de cause, ce n'est pas une formule qui va déterminer la valeur d'un bouton.
Il faut voir avec les événements des boutons (On Click, On Change...), via le VBA.
Par ailleurs, tu dis "si la case B2 prend la valeur du bouton"... mais de quel bouton parles-tu ?
Bref, essaie d'être plus clair si tu veux qu'on t'aide ;)
m@rina
Je ne sais pas ce que sont tes boutons (tu parles de groupe de boutons... ce sont des boutons d'option ???), en tout état de cause, ce n'est pas une formule qui va déterminer la valeur d'un bouton.
Il faut voir avec les événements des boutons (On Click, On Change...), via le VBA.
Par ailleurs, tu dis "si la case B2 prend la valeur du bouton"... mais de quel bouton parles-tu ?
Bref, essaie d'être plus clair si tu veux qu'on t'aide ;)
m@rina
Bonjour Marina,
Ma concentration m'a très fatigué alors je n'ai pas fait attention à ce que j'écrivais.
Mais non, il s'agit de "case d'option" pas de bouton.
J'ai lié la cellule B2 à mon 1er groupe de 3 cases d'option, afin de voir le choix effectué.
Lorsque ce choix est fait la cellule B2 a la valeur 1, 2 ou 3.
J'ai lié la cellule B1 à un groupe de 2 cases d'option. B1 affiche le choix 1 ou 2 de ce groupe.
C'est le choix effectué dans ce groupe qui va déterminer le choix des réponses suivantes.
Donc, si je sélectionne la case 1, B1=1; je veux alors que la cellule B2 soit égale à 3 automatiquement.
Par contre, si je sélectionne la case 2, B1=2; je veux que la cellule B2 représente le choix du 1er groupe de 3 cases d'option.
J'espère que je suis assez clair, je voudrais bien joindre une feuille en exemple mais je ne sais pas comment on fait.
Merci de votre aide.
Ma concentration m'a très fatigué alors je n'ai pas fait attention à ce que j'écrivais.
Mais non, il s'agit de "case d'option" pas de bouton.
J'ai lié la cellule B2 à mon 1er groupe de 3 cases d'option, afin de voir le choix effectué.
Lorsque ce choix est fait la cellule B2 a la valeur 1, 2 ou 3.
J'ai lié la cellule B1 à un groupe de 2 cases d'option. B1 affiche le choix 1 ou 2 de ce groupe.
C'est le choix effectué dans ce groupe qui va déterminer le choix des réponses suivantes.
Donc, si je sélectionne la case 1, B1=1; je veux alors que la cellule B2 soit égale à 3 automatiquement.
Par contre, si je sélectionne la case 2, B1=2; je veux que la cellule B2 représente le choix du 1er groupe de 3 cases d'option.
J'espère que je suis assez clair, je voudrais bien joindre une feuille en exemple mais je ne sais pas comment on fait.
Merci de votre aide.
Salut,
Si ton fichier ne comporte pas de données confidentielles ou masque les par des toto, titi etc et mets ton fichier sur un post que l'on y voit plus clair avec ce lien
https://www.cjoint.com/
Si ton fichier ne comporte pas de données confidentielles ou masque les par des toto, titi etc et mets ton fichier sur un post que l'on y voit plus clair avec ce lien
https://www.cjoint.com/
Merci Mike-31,
Voici le lien de mon fichier : https://www.cjoint.com/?mgquyyzj3B
J'espere que ca marchera;
Voici le lien de mon fichier : https://www.cjoint.com/?mgquyyzj3B
J'espere que ca marchera;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
C'est pas tellement plus clair, car tu nous parles de B1, B2 et tu as utilisé d'autres cellules dans l'exemple.
De plus, je ne sais pas à quoi sert le 3e groupe d'option.
En tout état de cause, si la première cellule dépend de deux sources en fonction de certains critères, ces deux sources étant des cases d'option, ce n'est pas possible, comme je te l'ai dit, par formule.
En effet, la case d'option va systématiquement écraser ta formule.
Et je vois que tu as utilisé des outils de formulaire et non pas des contrôles ActiveX. Ce sont ces derniers que tu dois utiliser, avec des macros qui doivent être programmées sur événement.
m@rina
C'est pas tellement plus clair, car tu nous parles de B1, B2 et tu as utilisé d'autres cellules dans l'exemple.
De plus, je ne sais pas à quoi sert le 3e groupe d'option.
En tout état de cause, si la première cellule dépend de deux sources en fonction de certains critères, ces deux sources étant des cases d'option, ce n'est pas possible, comme je te l'ai dit, par formule.
En effet, la case d'option va systématiquement écraser ta formule.
Et je vois que tu as utilisé des outils de formulaire et non pas des contrôles ActiveX. Ce sont ces derniers que tu dois utiliser, avec des macros qui doivent être programmées sur événement.
m@rina
Marina,
Tu as pu identifier mon pb, la case d'option écrase ma formule.
Mais as-tu un exemple avec les controle activeX, je prends ça où? car je ne sais pas c que c'est !
Merci
Tu as pu identifier mon pb, la case d'option écrase ma formule.
Mais as-tu un exemple avec les controle activeX, je prends ça où? car je ne sais pas c que c'est !
Merci
Finalement j'ai trouvé les controles activeX, et c'est galère maintenant, car je dois changer un a un dans mes pages tous mes controles que j'avais fais en controle de formulaire.
Mais comment du coup, attribuer une valeur à une case d'option en activeX ? car j'ai fais un classement en fonction de la case choisi.
Mais comment du coup, attribuer une valeur à une case d'option en activeX ? car j'ai fais un classement en fonction de la case choisi.
Re,
Me voilà de retour, j'ai du mal à cerner tes attentes et encore plus la manip que tu expliques sur les post 6 et 7
Si tu ne sais pas faire demande avant de faire des bêtises et attends que l'on t'explique, nous sommes bénévoles et ne pouvons être derrière chaque discussion 24 heures sur 24
Si tes connaissances en VBA son limitées, ce n'est pas un problème, nous sommes tous passé par là et dans un premier temps pour solutionner ton problème, chaque groupe de case option est lié à une cellule que tu as mis en colonne E et qui peut être masquée. A partir de là rien ne t’empêche d’écrire des formules simple avec des conditionnelles du genre
=SI(E3=1;E6;3) etc ...
Récupères ton fichier exemple avec ce lien
https://www.cjoint.com/?mgvUGERQ0W
Me voilà de retour, j'ai du mal à cerner tes attentes et encore plus la manip que tu expliques sur les post 6 et 7
Si tu ne sais pas faire demande avant de faire des bêtises et attends que l'on t'explique, nous sommes bénévoles et ne pouvons être derrière chaque discussion 24 heures sur 24
Si tes connaissances en VBA son limitées, ce n'est pas un problème, nous sommes tous passé par là et dans un premier temps pour solutionner ton problème, chaque groupe de case option est lié à une cellule que tu as mis en colonne E et qui peut être masquée. A partir de là rien ne t’empêche d’écrire des formules simple avec des conditionnelles du genre
=SI(E3=1;E6;3) etc ...
Récupères ton fichier exemple avec ce lien
https://www.cjoint.com/?mgvUGERQ0W
Bonjour,
Excusez moi encore! je vais essayer d'être plus précis.
Oubliez tout ce qui précède! je dévoile tout.
Initialement j'ai fais un questionnaire (100questions) dont je tire des conclusions à partir des réponses données par une sélection dans un groupe de 4 cases d'option correspondant à 4 réponses possibles par question.
Dans mon fichier joins, j'ai représenté 2 groupes de 3 réponses pour raccourcir:
Réponse question1 et Réponse question 2. J'affiche la réponse choisie respectivement dans la cellule E6 et E8.
Comme mes questions se rapportent à un type de logement (Appartement ou Maison) il y a des questions que je n'ai pas besoin de poser si c'est un appartement ou dont la réponse est connue d'office.
C'est pourquoi j'ai créé un 1er groupe "groupe" dont le choix via les cases d'option (G1 ou G2) me permettra d'imposer les réponses d'office à certaines questions.
Le pb est que comme j'ai réalisé mon questionnaire avec des case d'option d'un formulaire je me retrouve coincé car je ne sais pas comment imposer une réponse sans qu'elle soit écrasée (comme Marina l'a aussi constaté).
Mon second pb est qu'effectivement je ne sais pas programmer en VBA.
Dans mon exemple, si je tape 3 en E6 la case d'option se mettra sur la réponse 3. De même, si je clic sur la 2e case la réponse affichée en E6 sera 2. Ce que je veux c'est que si je clic sur G2 dans le groupe "Groupe" alors, par exemple, la réponse à la question 1 sera d'office celle que j'impose, par exemple 4.
J'espère que je suis plus précis, je m'en voudrais de vous embêter inutilement de nouveau.
Alors merci d'avance pour votre aide.
Excusez moi encore! je vais essayer d'être plus précis.
Oubliez tout ce qui précède! je dévoile tout.
Initialement j'ai fais un questionnaire (100questions) dont je tire des conclusions à partir des réponses données par une sélection dans un groupe de 4 cases d'option correspondant à 4 réponses possibles par question.
Dans mon fichier joins, j'ai représenté 2 groupes de 3 réponses pour raccourcir:
Réponse question1 et Réponse question 2. J'affiche la réponse choisie respectivement dans la cellule E6 et E8.
Comme mes questions se rapportent à un type de logement (Appartement ou Maison) il y a des questions que je n'ai pas besoin de poser si c'est un appartement ou dont la réponse est connue d'office.
C'est pourquoi j'ai créé un 1er groupe "groupe" dont le choix via les cases d'option (G1 ou G2) me permettra d'imposer les réponses d'office à certaines questions.
Le pb est que comme j'ai réalisé mon questionnaire avec des case d'option d'un formulaire je me retrouve coincé car je ne sais pas comment imposer une réponse sans qu'elle soit écrasée (comme Marina l'a aussi constaté).
Mon second pb est qu'effectivement je ne sais pas programmer en VBA.
Dans mon exemple, si je tape 3 en E6 la case d'option se mettra sur la réponse 3. De même, si je clic sur la 2e case la réponse affichée en E6 sera 2. Ce que je veux c'est que si je clic sur G2 dans le groupe "Groupe" alors, par exemple, la réponse à la question 1 sera d'office celle que j'impose, par exemple 4.
J'espère que je suis plus précis, je m'en voudrais de vous embêter inutilement de nouveau.
Alors merci d'avance pour votre aide.
Bonjour,
Voici un exemple ici :
https://www.cjoint.com/?mhuCjwxdYB
N'oublie pas d'activer les macros et éventuellement de sortir du mode Création.
Regarde le code, tu verras, c'est extrêmement simple.
m@rina
Voici un exemple ici :
https://www.cjoint.com/?mhuCjwxdYB
N'oublie pas d'activer les macros et éventuellement de sortir du mode Création.
Regarde le code, tu verras, c'est extrêmement simple.
m@rina
Marina, je te remercie!
C'est vrai que c'est simple. Cependant, je ne comprends pas ce que fait ce code en gras:
Private Sub OptionButton8_Click()
Range("E10").Value = 4
OptionButton10.Value = False
End Sub
Private Sub OptionButton10_Click()
Range("E10").Value = 4
OptionButton8.Value = True
End Sub
Si je veux que la valeur que j'impose soit 2, peux-tu me dire où faut-il que je change la valeur?
Aussi, peux-tu faire en sorte que SEUL le bouton B impose une réponse à UNE SEULE des 2 questions, STP?
(celle que tu veux comme ça je décortiquerai le code).
Merci.
C'est vrai que c'est simple. Cependant, je ne comprends pas ce que fait ce code en gras:
Private Sub OptionButton8_Click()
Range("E10").Value = 4
OptionButton10.Value = False
End Sub
Private Sub OptionButton10_Click()
Range("E10").Value = 4
OptionButton8.Value = True
End Sub
Si je veux que la valeur que j'impose soit 2, peux-tu me dire où faut-il que je change la valeur?
Aussi, peux-tu faire en sorte que SEUL le bouton B impose une réponse à UNE SEULE des 2 questions, STP?
(celle que tu veux comme ça je décortiquerai le code).
Merci.
Bonjour,
Il s'agit d'une macro événementielle : action quand on clique sur le bouton d'Option 8
Quand on clique sur le bouton d'option 8, la cellule E10 prend la valeur 4
et le bouton d'option 10 devient coché (et s'il est coché, cela entraîne une modif ailleurs => voir l'événement CHANGE pour le bouton d'option 10)
m@rina
Private Sub OptionButton8_Click()
Il s'agit d'une macro événementielle : action quand on clique sur le bouton d'Option 8
Range("E10").Value = 4
Quand on clique sur le bouton d'option 8, la cellule E10 prend la valeur 4
OptionButton10.Value = False
et le bouton d'option 10 devient coché (et s'il est coché, cela entraîne une modif ailleurs => voir l'événement CHANGE pour le bouton d'option 10)
End Sub
m@rina