[déplacé VB.NET -> VBA] Excel - Copie du contenu gauche/droit d'une comboBox dan

Résolu
cs_Oxydation Messages postés 10 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 4 mars 2010 - 23 févr. 2010 à 15:52
cs_Oxydation Messages postés 10 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 4 mars 2010 - 24 févr. 2010 à 10:59
Bonjour à tous ,

Je code en Vba depuis peu, en réalité depuis le début de mon stage, je n'ai donc pas énormément de connaissances en la matière.Mon probléme : J'ai une combobox nommée très astucieusement ComboBox1 qui contient des données sous sous la forme " nombres/LETTRE/nombre(s), je précise que ces données sont recherchées automatiquement dans une feuille excel grâce à cette fonction :

Function init()
ComboBox1.Clear
Dim temp As String
Dim ok As Integer
ref = 0
i = 2
While Not IsEmpty(Feuil1.Cells(i, 2).Value)
If Feuil1.Cells(i, 63) = "X" Then
ComboBox1.AddItem Feuil1.Cells(i, 2).Value
End If
i = i + 1
Wend

J'appelle bien sûr cette fonction dans mon userform.

Private Sub UserForm_Initialize()
init
End Sub

Exemples de données dans la comBoBox1 : 4300987H1 ou encore 3799309H93 ou même 0673B5 voire même 4301390H14

Comme vous pouvez le voir le nombre de nombres (Hum...) avant la lettre n'est pas toujours identique, est pareil pour après la lettre.

Ce que je veux faire (attention les yeux) serait de copier la partie gauche de la combobox (c'est à dire tous les nombres AVANT la lettre, lettre non comprise) dans une textbox1, et la partie droite (lettre ET nombres après la lettre) dans une textbox2. Et donc je n'y arrive pas (ce qui semble assez logique sinon je n'aurait pas crée un sujet)
Si une ou même plusieurs personnes auraient la gentillesse de m'aider j'en serai ravi.

Merci d'avance

4 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
23 févr. 2010 à 16:34
Bonjour,
1) si tout ce discours n'est finalement que pour arriver à extraiere de ta chaîne, séparément, les chiffres à gauche, la lettre au milieu et les chiffres derrière, voilà :
toto = "3799309H93"
mesnombresdevant = CStr(Val(toto))
malettre = Mid(toto, Len(mesnombresdevant) + 1, 1)
mesnombresderriere = Mid(toto, (Len(mesnombresdevant) + 2))
MsgBox mesnombresdevant & vbCrLf & malettre & vbCrLf & mesnombresderriere

tu fais ensuite (c'est ton affaire) ce que tu veux de ces 3 variables.
2) veux-tu s'il te plait faire attention au thème choisi pour ouvrir une discussion ? (c'est important).
Tu ne développes pas sous VB.Net, mais sous VBA

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
24 févr. 2010 à 10:24
Bon...
Ce sera alors à peine un peu plus long

toto = "0799309H93"
mesnombresdevant = ""
For i = 1 To Len(toto)
  If Mid(toto, i, 1) Like "#" Then
    mesnombresdevant = mesnombresdevant & Mid(toto, i, 1)
  Else
    Exit For
  End If
Next
malettre = Mid(toto, Len(mesnombresdevant) + 1, 1)
mesnombresderriere = Mid(toto, (Len(mesnombresdevant) + 2))
MsgBox mesnombresdevant & vbCrLf & malettre & vbCrLf & mesnombresderriere

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
3
cs_Oxydation Messages postés 10 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 4 mars 2010
24 févr. 2010 à 09:50
Bonjour,

Merci beaucoup Ucfoutu pour ta réponse, cela fonctionne à merveille, sauf pour une référence (sur 3000 c'est dommage mais bon il faut que ce soit parfait ), c'est la référence "0670B3" qui pose probléme, en effet ma textbox1 devrait contenir "0670" et ma textbox2 "B3", or avec cette référence ma textbox1 reçoit "067" et ma textbox2 "0B3" je ne comprend pas pourquoi.

Merci encore pour ta réponse précédente et désolé pour le thème mal choisi j'étais pourtant persuadé d'avoir vhoisi Vba , mais j'ai dû faire une erreur, encore désolé.
0
cs_Oxydation Messages postés 10 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 4 mars 2010
24 févr. 2010 à 10:59
Waouh ! Cela fonctionne nickel ! Je te remercie mille fois pour ce code !


Je vais pouvoir continuer correctement mon projet, merci encore pour ton aide !
0
Rejoignez-nous