Fractionner le contenu d'une combobox sur 2 cellules Excel

Bonjour,

Svp j'aimerais que lorsque mon tableau se remplisse, le contenu de la combobox sélectionnée se répartisse sur deux cellules.

Par exemple, lorsque je choisi le couple 30.000 km / 36 mois sur ma combobox et j'appuie sur (btnEntrer), la colonne distance sur la feuille (Tableau) affiche "30.000" et la colonne durée affiche "36" et ce pour tous les éléments de la combobox.

Si vous avez des astuces n'hésitez pas. Je mets mon fichier en pièce jointe.

5ronnie.xlsm (32.60 Ko)

Merci d'avance.

Bonjour,

Mon astuce c'est la fonction Split, qui permet de séparer des valeurs par rapport à un séparateur.

Private Sub btnEntrer_Click()
Dim tabDuree As Variant
 derligne = Sheets("Tableau").Range("A" & Rows.Count).End(xlUp).Row + 1
 Sheets("Tableau").Cells(derligne, 1) = Formulaire.cboMarque
 Sheets("Tableau").Cells(derligne, 2) = Formulaire.cboModele
 Sheets("Tableau").Cells(derligne, 3) = Formulaire.cboProduit
 tabDuree = Split(Formulaire.cboDuree, "/")
 Sheets("Tableau").Cells(derligne, 4) = tabDuree(0)
 Sheets("Tableau").Cells(derligne, 5) = tabDuree(1)
 Sheets("Tableau").Cells(derligne, 6) = Formulaire.txtMontant

 Unload Me
 Formulaire.Show

'to code
End Sub

Les tableaux obtenus avec Split ont une seule dimension et leur premier index est 0.

Mais pour être honnête, tu te compliques la vie à vouloir deux valeurs dans une combobox, pourquoi ne pas faire une zone de saisie pour la distance, et une pour l'âge du véhicule? ça serait tellement plus simple à gérer, et tu n'aurais pas à faire une liste avec 108 éléments.

Salut Ausecour,

Ton code marche bien mais le problème c'est que je dois avoir par exemple "30.000" et non pas "30.000 km" et "36" et non pas de "36 mois". Est-ce que t'as une idée pour garder uniquement les caractères numériques ?

Voici le fichier avec le code que tu m'as donné :

2ronnie.xlsm (33.43 Ko)

Sinon, t'a totalement raison pour fractionner les zones de saisie, mais le fichier que je dois faire doit comporter les deux à la fois, pour que la personne qui rempli le formulaire comprenne qu'on résonne à travers des couples. Mais j'ai besoin des distances et durée pour faire mes calculs.

Bonjour,

Si je peux me permettre...

Pour Excel, 30.000 ne représente que 30..

Je pense qu'il faudrait que tu remplaces tous les points par un espace (Ctrl + H, rechercher le point, remplacer par un espace) si on parle bien en milliers de Kms...

Puis dans le code que t'a proposé Ausecour, tu modifies le remplissage ainsi :

....
....
tabDuree = Split(Formulaire.cboDuree, "/")
 Sheets("Tableau").Cells(derligne, 4) = Val(tabDuree(0))
 Sheets("Tableau").Cells(derligne, 5) = Val(tabDuree(1))
....
....

Peut-être?

Hello Cousinhb,

C'est parfait, j'ai remplacé les points par des espaces et ça marche parfaitement bien !

Merci beaucoup Cousinhb. Et merci pour ta solution Ausecour

Rechercher des sujets similaires à "fractionner contenu combobox"