[Excel] programmation vba

Résolu/Fermé
Tartouffe Messages postés 37 Date d'inscription mercredi 22 août 2007 Statut Membre Dernière intervention 8 décembre 2011 - 22 août 2007 à 09:08
Tartouffe Messages postés 37 Date d'inscription mercredi 22 août 2007 Statut Membre Dernière intervention 8 décembre 2011 - 22 août 2007 à 10:54
bonjour,
j'aimerais savoir comment on peut extraire une partie du texte d'une cellule en vba sous excel
sachant que le texte est de la forme NOM1 Prenom1 [ENTREPRISE]; NOM2 Prenom2 [ENTREPRISE]; ...
je ne sait pas combien il ya de NOM et Prenom et le dernier ne ce termine pas par "; "
donc dans ce cas vous l'aurait compris je veut copier coller NOM1 Prenom1 [ENTREPRISE]; dans une autre cellule et de meme pour les autre

merci d'avance
A voir également:

2 réponses

Essayes voir ces instructions là.
Dans la proposition qui va suivre, le texte est de la forme NOM1 Prenom1 [ENTREPRISE]; NOM2 Prenom2 [ENTREPRISE]; ... est dans la cellule A1 de ta page. C'est ce que j'appelele dans le programme la chaine 'Contenu' :


Sub test()

' Initialisation de variables
Separateur = ";"
Position = 0
Ligne = 1

' Charge le contenu de la cellule A1 en mémoire dans la variable Contenu
Contenu = Range("A1").Value

Do
'Cherche la position du séparateur dans la chaine Contenu
Position = InStr(1, Contenu, Separateur)
Ligne = Ligne + 1

' Test, execute le contenu seulement si il trouve le séparateur
If Position <> 0 Then
' Groupe correspond à "NOM Prénom [Entreprise]
Groupe = Left(Contenu, Position - 1)
' Cette instruction colle Groupe dans la cellule qui a pour coordonées Ligne,1
Cells(Ligne, 1).Value = Groupe
' Mesure de la longueur de la chaine Contenu
Longueur = Len(Contenu)
' Supprime dans la chaine Contenu le groupe que tu viensn de traiter
Contenu = Right(Contenu, Longueur - Position - 1)
End If
' Test si position est à zéro,
' c'est à dire qu'il n'y a plus de séparateur dans la chaine Contenu,
' c'est donc que c'est la dernière instruction
Loop Until Position = 0

' Colle le dernier enregitrement
Cells(Ligne, 1).Value = Contenu

End Sub
0
Tartouffe Messages postés 37 Date d'inscription mercredi 22 août 2007 Statut Membre Dernière intervention 8 décembre 2011 4
22 août 2007 à 10:54
merci beaucoup pour ce programme qui marche trés bien
0