[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
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
A voir également:
- [Excel] programmation vba
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
- Excel compter cellule couleur sans vba - Guide
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
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
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
22 août 2007 à 10:54
merci beaucoup pour ce programme qui marche trés bien