combobox et mise à jour de textbox

  • Initiateur de la discussion Initiateur de la discussion zon
  • 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 !

Z

zon

Guest
Bonjour à toutes et à tous,

J'ai eu beau chercher dans les fils de discussion, je n'ai pas trouvé réponse à mon problème.


Voici le code de combobox :

Private Sub ComboBox2_Change()
Dim Plage As Range
Dim Cell As Range
Set Plage = Sheets("TARIFblueriver").Range("B2:B" & DerLigne)
For Each Cell In Plage
If Cell.Value = ComboBox2.Value Then
'prix en euro TTC
TextBox1 = Cell.Offset(0, 3).Value
'Prix d'achat HT
TextBox2 = Cell.Offset(0, 4).Value
'liste des consommables
ComboBox1 = Cell.Offset(0, 1).Value
'Quantité mis par défaut à 1
TextBox3 = 1
TextBox4 = Cell.Offset(0, 2)
End If
Next Cell
End Sub

DerLigne étant initialiser avec l'USF.

Mes textbox se mettent bien à jour quand la cellule contient un chaîne commençant par un caractère de l'alphabet mais pas avec un chiffre.

Merci aux âmes charitables qui pourront m'aider. (Dieu sait qu'il y en a sur ce forum)

A+++
 
Bonjour à tous,


Il me semble bien pourtant que nous avons déjà abordé le problème.

Combobox.value renvoie, me semble-t-il, une chaîne de caractères. Cette chaîne ne sera pas égale à une valeur numérique contenue dans une cellule même si ces deux valeurs sont représentées par le même signe.

Pour résoudre le problème, il faudrait je crois que tu testes si ta cellule est numérique. ça pourrait donner à peu près ceci (à vérifier car je ne l'ai pas testé) :


For Each Cell In Plage
if IsNumeric(Cell.Value) then comp$ = format(Cell.Value) else comp$ = Cell.Value
If comp$ = ComboBox2.Value Then
'prix en euro TTC
TextBox1 = Cell.Offset(0, 3).Value
'Prix d'achat HT
TextBox2 = Cell.Offset(0, 4).Value
'liste des consommables
ComboBox1 = Cell.Offset(0, 1).Value
'Quantité mis par défaut à 1
TextBox3 = 1
TextBox4 = Cell.Offset(0, 2)
End If
Next Cell

Dis moi si avec cette modification ta comparaison fonctionne.

Bonne fin d'après-midi

@+
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
252
Réponses
1
Affichages
468
Réponses
0
Affichages
380
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
504
Réponses
3
Affichages
420
Retour