VBA: Un textbox qui contient plusieurs informations
Résolu
jawja
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
voilà mon problème:
sur un textbox j'écrit à l'aide d'une douchette(lecteur code à barres) une information comme :
"400+340+540=1280"
je veux écrire chaque nombre de la somme dans une cellule dans mon tableau excel
par exemple 44 dans C6, 340 dans D6, 540 dans E6
je n'ai aucune idée comment procéder
si vous pouvez m'aider svp
merci d'avance
voilà mon problème:
sur un textbox j'écrit à l'aide d'une douchette(lecteur code à barres) une information comme :
"400+340+540=1280"
je veux écrire chaque nombre de la somme dans une cellule dans mon tableau excel
par exemple 44 dans C6, 340 dans D6, 540 dans E6
je n'ai aucune idée comment procéder
si vous pouvez m'aider svp
merci d'avance
A voir également:
- VBA: Un textbox qui contient plusieurs informations
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
2 réponses
Bonjour,
Avec les fonctions Split, Left et Instr (cf l'aide en ligne sur le site msdn), tu peux, par l'intermédiaire d'un bouton de commande faire comme ceci :
Ce code fonctionne s'il n'y a que deux signes +.
Pour adapter, le cas échéant, il conviendra de boucler sur la fonction Split, grâce à LBound et UBound (cf aide en ligne) :
Nota : la notation [C6] correspond à Range("C6") ou Cells(6, 3) ou Sheets("NomDeMaFeuille").Range("C6"). Après tout dépend du degré de précision souhaité, ou si l'on veut écrire dans une feuille masquée ou ... etc...
Avec les fonctions Split, Left et Instr (cf l'aide en ligne sur le site msdn), tu peux, par l'intermédiaire d'un bouton de commande faire comme ceci :
Private Sub CommandButton1_Click() [C6] = Split(TextBox1, "+")(0) [D6] = Split(TextBox1, "+")(1) [E6] = Split(TextBox1, "+")(2) [E6] = Left([E6], InStr([E6], "=") - 1) End Sub
Ce code fonctionne s'il n'y a que deux signes +.
Pour adapter, le cas échéant, il conviendra de boucler sur la fonction Split, grâce à LBound et UBound (cf aide en ligne) :
Private Sub CommandButton1_Click() Dim i As Integer For i = LBound(Split(TextBox1, "+")) To UBound(Split(TextBox1, "+")) Cells(6, i + 5) = Split(TextBox1, "+")(i) Next i Cells(6, i + 4) = Left(Cells(6, i + 4), InStr(Cells(6, i + 4), "=") - 1) End Sub
Nota : la notation [C6] correspond à Range("C6") ou Cells(6, 3) ou Sheets("NomDeMaFeuille").Range("C6"). Après tout dépend du degré de précision souhaité, ou si l'on veut écrire dans une feuille masquée ou ... etc...
Merci!
ce code marche bien, il faut juste que je l'adapte pour mon cas :)
une remarque: dans la première cellule le " s'affiche aussi
ce code marche bien, il faut juste que je l'adapte pour mon cas :)
une remarque: dans la première cellule le " s'affiche aussi