Découpage d'une chaine de caractère dans TextBox
Bonsoir,
Je débute en VBA et je me retrouve confronter à une difficulté. Je vous explique.
J'invite mon utilisateur a copier dans une textbox une chaine de caractère ayant ce type de format :
Affaire : 51515151- ABCD- 75000- DUPONT -
Adresse : 1 RUE EMILE ZOLA 75000 PARIS
Je souhaite pouvoir isoler trois informations dans cette chaine de caractère (les infos en souligné), et je ne sais pas comment m'y prendre.
Pour compléter mon propos ces infos seront ensuite afficher individuellement dans des cells distinctes de ma Sheet.
Merci d'avance pour votre aide et vos suggestions.
Bonjour BrunoM45,
Avant merci infiniment de votre réponse qui m'aide à y voir plus clair. Voilà le bout de code que j'ai mis en place.
Private Sub CommandButton1_Click()
Dim sAffaire As String
Dim TabAdr() As String, sRue As String, sVille As String
Dim Ind As Integer
sAffaire = Left(Me.TextBox1, InStr(1, Me.TextBox1, "-") - 1)
' Pour récupérer le numéro et la voie
TabAdr = Split(Me.TextBox1, " ")
For Ind = 0 To UBound(TabAdr) - 2
sRue = sRue & TabAdr(Ind) & " "
Next Ind
' Supprimer le dernier espace
sRue = Left(sRue, Len(sRue) - 1)
' Pour récuperer la ville
sVille = Mid(Me.TextBox1, InStrRev(Me.TextBox1, " ") + 1, 255)
Sheets("Plan minute").Range("C4").Value = sVille
Sheets("Plan minute").Range("C4").HorizontalAlignment = xlCenter
Sheets("Plan minute").Range("C5").Value = sRue
Sheets("Plan minute").Range("C5").HorizontalAlignment = xlCenter
Sheets("Plan minute").Range("C6").Value = sAffaire
Sheets("Plan minute").Range("C6").HorizontalAlignment = xlCenter
Unload Me
UserForm2.Show
End SubCe dernier ne répond pas vraiment à ce que je souhaite faire.
Je m'explique, en fait la chaine de caractère est saisi en une seule fois dans un seule TextBox :
Cela est une contrainte de développement que j'ai.
Avec cette précision et le code que vous m'avez proposé, 3 problèmes subsistent :
1/ Le numéro d'affaire que je récupère contient le mot Affaire en préfixe or je ne souhaite avoir que le numéro d'affaire.
2/ Le numéro de voie et la voie ne sont pas récupérer car l'information se trouve sur la deuxième ligne de la TextBox et non pas dans une TextBox "isolée".
3/ La ville récupère le dernier mot de la chaîne de caractère mais cela ne fonctionne pas dans le cas où j'ai un nom de ville composé de plusieurs mots (2 ou plus). Exemple La Bastide de Sérou. Je pense que le plus serait de dire de garde toute la chaîne de caratère se trouvant derrière le code postal.
Voilà je vous remercie encore pour aide.
Bonjour,
Je n'avais pas lu l'énoncé comme ça,
@+
Super c'est parfait merci infiniment.
Re-bonjour,
Ca fonctionne à merveille mais je m'aperçois que la manipulation de chaine de caractère est un sujet complexe.
Auriez vous la gentillesse (même si j'ai conscience d'abuser un peu) de me dire comment récupérer ce qui correspond au nom du client (dans mon exemple DUPONT) sachant qu'une fois n'est pas coutume, ce nom peut-être composé de plusieurs mots (voire même contenir un trait d'union).
Merci par avance.
Re,
Tout ça pour éviter d'avoir à saisir des infos qui prennent 10s
Alors oui effectivement vous abusez
Comme je vous l'ai dis j'ai conscience que j'en demande beaucoup après croyez moi ce n'est pas que pour gagner 10s.