jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 7 déc. 2006 à 19:03
Et si maintenant tu veux (bien que tu ne l'aies pas exprimé) estraire les numéros entiers (et pas les choffres uniquement, un par un) :
On va prendre l'exemple suivant :
Sur la chaîne :
"Dossier de consultation à retirer à : la DDTEFP, Carré Curial, 73018 Chambéry Cedex.
B.P. 1126, 73011 Chambéry cedex, France, Tél. : 0479603011, Fax : 0479603180, mail dse@chs-savoie.fr"
Ne me demande surtout pas d'où elle vient, hein ?
Private Sub Command1_Click()
test = "1Dossier de consultation à retirer à : la DDTEFP, Carré Curial, 73018 Chambéry Cedex. B.P. 1126, 73011 Chambéry cedex, France, Tél. : 04 79 60 30 11, Fax : 04 79 60 31 80, mail [mailto:dse@chs-savoie.fr dse@chs-savoie.fr]"
For i = 1 To Len(test)
While Not IsNumeric(Mid(test, i, 1))
i = i + 1
If i > Len(test) Then Exit For
Wend
While IsNumeric(Mid(test, i, 1))
suite = suite & Mid(test, i, 1)
i = i + 1
If i > Len(test) Then Exit For
Wend
suite = suite & " "
Next
MsgBox Trim(suite)
End Sub
Voilà msieur !
<!-- END TEMPLATE: bbcode_code -->
Vous n’avez pas trouvé la réponse que vous recherchez ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 7 déc. 2006 à 20:04
Tiens :
Je t'ai même fait une petite modif pour garder "présentables" tes numéros de téléphone :
Private Sub Command1_Click()
test = "Dossier de consultation à retirer à : la DDTEFP, Carré Curial, 73018 Chambéry Cedex. B.P. 1126, 73011 Chambéry cedex, France, Tél. : 04 79 60 30 11, Fax : 04 79 60 31 80, mail [mailto:dse@chs-savoie.fr dse@chs-savoie.fr]"
For i = 1 To Len(test)
While Not IsNumeric(Mid(test, i, 1)) 'And Mid(test, i, 1) <> " "
i = i + 1
If i > Len(test) Then Exit For
Wend
While IsNumeric(Mid(test, i, 1)) Or Mid(test, i, 1) = " "
suite = suite & Mid(test, i, 1)
i = i + 1
If i > Len(test) Then Exit For
Wend
suite = suite & vbCrLf
Next
MsgBox suite
End Sub
Ceci étant dit (et fait), ami mqsi :
Tu voudras bien remarquer que je n'ai utilisé que ce dont je t'avais parlé dès mon 1er message.
Il ne s'agit plus là d'une question de savoir.... mais d'utilisation des connaissances... et celà ne s'apprend pas !
Il est peut-être temps que tu apprennes à utiliser ton savoir, toi aussi. Il n'existe aucun manuel concernant la manière d'organiser sa pensée... et la pensée est et restera toujours l'élément le plus important et irremplaçable en matière de développemen (informatique ou autre)..
Ton effort ne doit en aucun cas se limiter à poster, pas à pas, sur les forums francophones que tu as pu répertorier !
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 8 déc. 2006 à 08:31
Tiens, voilà encore une autre façon :
For i = 1 To Len(test)
If IsNumeric(Mid(test, i, 1)) Or Mid(test, i, 1) = " " Then
sortie = sortie & Mid(test, i, 1)
Else
If Right(Trim(sortie), 1) <> "/" Then sortie = Trim(sortie) & "/"
End If
Next i
MsgBox sortie
reste plus qu'à utiliser split avec / pour extraire tous tes numeros dans un tableau
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 8 déc. 2006 à 09:16
Tiens :
encore une autre, sans split et directement dans une listbox
Private Sub Command1_Click()
test = "B.P. 1126, 73011 Chambéry cedex, France, Tél. : 04 79 60 30 11, Fax : 04 79 60 31 80, mail [mailto:dse@chs-savoie.fr dse@chs-savoie.fr] 22"
test = test & "n'importe quoi" ' ------------IMPORTANT (une suele lettre suffi, a par exemple
Dim toto As Boolean
For i = 1 To Len(test)
If IsNumeric(Mid(test, i, 1)) Or (Mid(test, i, 1) = " " And Not toto) Then
toto = False
sortie = sortie & Mid(test, i, 1)
Else
If Not toto And sortie <> "" Then
List1.AddItem Trim(sortie): sortie = ""
End If
toto = True
End If
Next i
End Sub