Recuperer valeur combobox dans une formule dans une cellule

Bonjour à tous,

je suis un lecteur de ce forum d'une manière récurrente ce qui m'amène à m'inscrire afin de vous présenter ma problèmatique.

Je souhaite inscrire dans une cellule une formule dont une variable serait le résultat d'un choix dans une combobox. mais je n'arrive pas à l'exprimer en code VBA.

ma formule :

Range("Q4").FormulaLocal = "=IFERROR(IF(P4=ComboBox.text;1;2);2)"

En effet je comprends que dans ce cas la cellule Q4 se retrouve avec la formule suivante: =IFERROR(IF(P4=ComboBox.text;1;2);2)

Si quelqu'un peut m'éclairer ?

Pa avance merci.

Bonjour drickque73 et bienvenue sur le forum,

Malheureusement ta question est un peu vague pour que tu aies une réponse pertinente. Dans quel contexte ton fichier est censé travailler? Qu'es-ce que tu entends par

une formule dont une variable serait le résultat d'un choix dans une combobox

Lorsque tu parles de Combobox, es-ce que tu travailles avec un formulaire, ou avec une combobox insérée dans ta feuille? (ce qui changera forcément l'interprétation de ta demande)

Es-ce que cette formule doit être ré-écrite grâce à du VBA?

Il y a beaucoup d'inconnus, je t'invite donc à joindre un fichier épuré et à mettre en avant la partie à modifier.

Une première tentative hasardeuse de ma part:

Range("Q4").FormulaLocal = "=IFERROR(IF(P4=" & ComboBox.text & ";1;2);2)"

Bonjour,

Même réponse que d3d9x (j'arrive encore après ! ).

J'ajouterai que si l'action sur ta ComboBox doit modifier la formule, la procédure Change de la Combo doit réaffecter la formule à chaque nouvelle valeur.

Cordialement.

Bonsoir

Merci MFerrand & d3d9x.

En effet, je ne respecte pas les consignes lues et relues sur les différents sujets abordés dans ce forum.

donc je joins un fichier simplifié.

oui j'utilise une combobox dans une userbox

oui la valeur de la combobox change. Néanmoins une foix le choix fait dans la userbox il ne change pas et je souhaite écrire via VBA la formule avec la valeur présente dans la combobox.

Merci de votre aide

61extract-cdes.xlsm (26.45 Ko)

Voilà une proposition.

94extract-cdes.xlsm (21.51 Ko)

Ton combobox.Text m'a induit en erreur, et t'ai donc fait une première proposition incorrecte.

Range("Q4").FormulaLocal = "=IFERROR(IF(P4=" & """" & ComboBox1.List(ComboBox1.ListIndex) & """" & ";1;2);2)"

Ce qui génèrera une formule de ce type:

=IFERROR(IF(P4="RM4";1;2);2)

Sauf erreur de ma part, RM4 ne correspond pas à une plage nommée, mais bien au texte "RM4"?

Remarque: A utiliser sur une version d'excel avec les formules en anglais =)

bonsoir drickque73

Vous était presque

 'collage formule 1
Range("Q4").FormulaLocal = "=IFERROR(IF(P4="&ComboBox.text&";1;2);2)"

ComboBox1 et non pas ComboBox

en preference ComboBox1.value et non pas ComboBox.text

si vous rectifier vous auriez

'Si une ref de plage ou valeur:

Range("Q4").FormulaLocal = "=IFERROR(IF(P4=" & ComboBox1.Value & ";1;2);2)"

Remarque: A utiliser sur une version d'excel avec les formules en anglais =)

YES!!!!!!!!!!!!!!!

Merci beaucoup D3D9X ça marche parfaitement!

Merci de ta disponibilité.

Désolé pour la version anglaise mon entreprise utilise des licenses anglaises pour tout ces sites. Quant à "RM4" il s'agit effectivement d'un texte.

Amir merci également de ta contribution ta méthode fonctionne aussi!

Bonne soirée à tous.

Rechercher des sujets similaires à "recuperer valeur combobox formule"