Récupérer la première ligne d'une cellule

Récupérer la première ligne d'une cellule - VB/VBA/VBS - Programmation

Marsh Posté le 12-05-2009 à 11:34:17    

Bonjour,
J'ai une cellule qui contient une adresse formatéee comme ceci
adresse 1
adresse 2
Code postal & ville
 
le tout dans une cellule.
 
J'aimerai récupérer chacune des informations dans une textbox.
Quelqu'un pourrait m'aider ?
Merci

Reply

Marsh Posté le 12-05-2009 à 11:34:17   

Reply

Marsh Posté le 12-05-2009 à 13:48:35    

C'est quel VB ?
Ah, je vois le mot cellule, donc c'est peut-être du VBA pour Excel.
Alors, voici une macro (testée) qui fait cela :

Sub Macro1()
  s = Range("A1" ).Value
  s_lg = Len(s)
  i = 1
  Do While (i < s_lg)
    s_end_of_line = InStr(i + 1, s, vbLf)
    If (s_end_of_line > 0) Then
      MsgBox (Mid(s, i, s_end_of_line - i))
      i = s_end_of_line
    Else
      Exit Do
    End If
  Loop
  MsgBox (Mid(s, i, s_lg - i + 1))
End Sub

Reply

Marsh Posté le 13-05-2009 à 11:48:07    

Comment puis-je récupérer en varaible chaque ligne ?
j'ai essayé d'utiliser les mid(i) mid(s) et mid(s_lg - i + 1) mais cela ne fonctionne pas !
Merci de votre aide

Reply

Marsh Posté le 13-05-2009 à 12:38:38    

Citation :

j'ai essayé d'utiliser les mid(i) mid(s) et mid(s_lg - i + 1)


En fait, il y a deux cas :
 
1. Soit la ligne se termine par vbLf. C'est le cas de toutes les lignes sauf de la dernière.
Dans ce cas, il faut prendre Mid(s, i, s_end_of_line - i) comme dans mon code.
 
2. Soit la ligne ne se termine par vbLf parce que c'est la dernière ligne, ou bien parce qu'il n'y a qu'une seul ligne en tout dans la cellule.
Dans ce cas, il faut prendre Mid(s, i, s_lg - i + 1)) comme dans mon code.

Reply

Marsh Posté le 13-05-2009 à 13:34:58    

 a = (Mid(s, i, s_lg - i + 1))    (deuxieme ligne cellule)
  b = (Mid(s, i, s_end_of_line - i))      (premiere ligne cellule)
 
 MsgBox a
 MsgBox b
 
J'essaye de récupérer le texte dans les variables mais il m'indique erreur 5 ....

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed