Décharger un combobox dans des cellules excel

  • Initiateur de la discussion Initiateur de la discussion boucherst
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

boucherst

Guest
Bonjour à tous, j'ai un problème avec un userform. En effet, celui-ci contient plusieurs combobox dont l'un me pose un problème. Dans ce combobox, j'ai une liste de choix.
En fonction d'un choix de cette liste, je voudrais décharger l'information dans des cellules prédéfinies.
Ex : je sélectionne dans mon combobox :
- tomate >>> déchargement en A1
- Pomme de terre >>> déchargement en C1

De plus, d'une information textuelle (tomate, pomme de terre), je voudrais qu'à la place du texte, un "1" se décharge en A1 (si sélection = tomate) ou un "1" en C1 si sélection = pomme de terre.

Merci par avance pour vos réponses.
 
Re : Décharger un combobox dans des cellules excel

Salut

Et si on rajoutait une colonne à ton tableau, ou ton combo décharge tomate, pommes de terres ou autres légumes... et ensuite juste un contrôle dans les colonnes tomates, pdt ou autres... si est egal au produit alors 1 sinon rien...

Ya'v
 
Re : Décharger un combobox dans des cellules excel

Bonjour à tous,
d'abord merci à ceux qui ont essayés de me comprendre. Je vous joins un fichier qui illustre ma demande.
J'aimerai qu'en :
- sélectionnant "Tomate" un "1" se décharge dans la cellule A1.
- en sélectionnant "Pomme de terre" un "1 " se décharge en cellule C1

Je remercie par avance, les personnes qui pourront me donner une solution.
 

Pièces jointes

Re : Décharger un combobox dans des cellules excel

Salut,

il suffit d'ajouter un test à la validation de ton usf :
Code:
if Combobox1.value = "tomate" then
              Worksheets("   ").cells(1,1).value= 1
elesif combobox1.value= "pomme de terre" then
              worksheets("   ").cells(1,3).value = 1
end if
 
Re : Décharger un combobox dans des cellules excel

Salut à tous,

Jette un oeil sur le fichier joint pour voir si c'est ce que tu veux.
C'est un "ou" exclusif que tu as ici (un seul 1). Il te sera facile de corriger pour un "ou" inclusif (2 choix).
 

Pièces jointes

Dernière édition:
Re : Décharger un combobox dans des cellules excel

🙂 Bonjour Forum,
J'ai peut-être pas bien compris
mais en faisant au plus simple, le code de la combo devient.

Private Sub ComboBox1_Change()
Dim n As Integer
If n = Tomate Then
Range("A1") = 1
If n = Pommedeterre Then
Range("C1") = 1
End If
End If
End Sub

Ca me parait trop simple. 🙄
 
Re : Décharger un combobox dans des cellules excel

Rebonjour à tous,

Merci pour vos réponses. Il semble que la solution de papapaul soit la mieux appropriée pour mon cas. En revanche quelque soit la sélection que je fais avec le code que tu m'as donné, un 1 est déchargé en A1 et C1.
Je vous joins de nouveau le fichier où j'ai intégré le code de papapaul.
Si l'un d'entre vous peut trouver la soluce.

Merci à chLoulou, mais le code que tu m'as donné ne fonctionne pas dans Private Sub ComboBox1_Change(), j'ai pourtant remplacé (" ") par Sheet1 mais quand je sélectionne, il n'y a aucun déchargement ? je dois certainement faire une mauvaise interprétation de ta soluce.

Merci à Excel Lent, je vais aussi essayé mais je pense avoir un problème si je rajoute unetrentaine de sélections possibles^qui pour chacune devront aller se décharger dans des cellules prédéfinies (D1,E1,F1 etc..)
 

Pièces jointes

Re : Décharger un combobox dans des cellules excel

Merci à tous les deux car vous m'avez permis de régler mon problème.

Pour rester dans les tomates et les pommes de terre, j'ai un autre souci. Dans le fichier joint, j'aimerai avoir une macro qui, si je sélectione ou tomate ou pomme de terre me fasse apparaitre une msgbox en fonction de ma sélection avec :

Total bonne tomate = 10 (c'est donc la somme de A2:A11 dans mon cas ici)
Total Mauvaise tomate = 4 (c'est donc la somme de b2:b11 dans mon cas ici)
% de mauvaise tomate = 40 %

idem si je sélectionne les pommes de terre. 10,2,20%

Cdt.
 

Pièces jointes

Re : Décharger un combobox dans des cellules excel

🙂 Bravo bhbh, t'as fait drolement vite en plus,
mais si je peux me permettre de m'incruster, je joins une petite modif
pour éviter le rajout des 1 quand click OK
et rectifier un petit oubli en fin de code.

Case Is = "Tomate"
col = IIf(Controls("Opt1") = True, 1, 2)
lign = IIf(col = 1, lign1, lign2)
lignt = IIf(lign1 > lign2, lign1, lign2)
'Cells(lign + 1, col).Value = 1
TextBox2.Value = Evaluate("SUM(A2:A" & lign1 + 1 & ")")
TextBox3.Value = Evaluate("SUM(B2:B" & lign2 + 1 & ")")
TextBox4.Value = Format(TextBox3.Value / Evaluate("SUM(A2:B" & lignt & ")"), "0.00%")
Case Is = "Pomme de terre"
col = IIf(Controls("Opt1") = True, 3, 4)
lign = IIf(col = 3, lign3, lign4)
lignt = IIf(lign3 > lign4, lign3, lign4)
' Cells(lign + 1, col).Value = 1
TextBox2.Value = Evaluate("SUM(C2:C" & lign3 + 1 & ")")
TextBox3.Value = Evaluate("SUM(D2😀" & lign4 + 1 & ")")
TextBox4.Value = Format(TextBox3.Value / Evaluate("SUM(C2😀" & lignt & ")"), "0.00%")

@+
 
Re : Décharger un combobox dans des cellules excel

Salut à tous,

Tu veux le pourcentage de "mauvaises" par rapport aux "bonnes" (comme tes exemples) ou par rapport au nombre total ?
Dans ce dernier cas il faudra la formule nM / (nB + nM) dans le fichier joint.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour