Bonjour.
J'ai un fichier de clients avec trop d'infos par cellule..
Par ex , j'ai un cellulle A1 qui contient
xx rue Gaston de Saporta 13100 Aix en Provence Tél: 04 42 xx xx xx
peut on séparer pour avoir
A1 qui contient xx rue Gaston de Saporta
A2 qui contient 13100 Aix en Provence
A3 qui contient Tél: 04 42 xx xx xx
Est ce possible?
Merci
Cordialement.
Philippe MERY
**pour m'écrire perso**
mery-ph -serveur- ifrance.com
www.freymille.com
Soit la Feuil1 colonne A à traiter à partir de la ligne 2
Tous les éléments doivent être séparés par des espaces et la partie téléphone débutant par "Tél:"
Je te propose ce code :
For Each c In Worksheets("Feuil1").Range("A2", "A" & Sheets("Feuil1").Range("A65535").End(xlUp).Row) For i = 0 To UBound(Split(c, " ")) If IsNumeric(Split(c, " ")(i)) = True And Len(Split(c, " ")(i)) = 5 Then Ville = Mid(c, Car) End If If Split(c, " ")(i) = "Tél:" Then c.Offset(0, 3) = Mid(c, Car) Exit For End If Car = Car + Len(Split(c, " ")(i)) + 1 Next c.Offset(0, 2) = Mid(Ville, 1, Len(Ville) - Len(c.Offset(0, 3))) c.Offset(0, 1) = Mid(c, 1, Len(c) - (Len(c.Offset(0, 2)) + Len(c.Offset(0, 3)))) Car = 0 Next
Résultat colonne B/C/D
Celà devrait convenir Dis moi !!!!
Salut Philippe
Soit la Feuil1 colonne A à traiter à partir de la ligne 2
Tous les éléments doivent être séparés par des espaces et la partie
téléphone débutant par "Tél:"
Je te propose ce code :
For Each c In Worksheets("Feuil1").Range("A2", "A" &
Sheets("Feuil1").Range("A65535").End(xlUp).Row)
For i = 0 To UBound(Split(c, " "))
If IsNumeric(Split(c, " ")(i)) = True And Len(Split(c, " ")(i)) = 5 Then
Ville = Mid(c, Car)
End If
If Split(c, " ")(i) = "Tél:" Then
c.Offset(0, 3) = Mid(c, Car)
Exit For
End If
Car = Car + Len(Split(c, " ")(i)) + 1
Next
c.Offset(0, 2) = Mid(Ville, 1, Len(Ville) - Len(c.Offset(0, 3)))
c.Offset(0, 1) = Mid(c, 1, Len(c) - (Len(c.Offset(0, 2)) + Len(c.Offset(0,
3))))
Car = 0
Next
Soit la Feuil1 colonne A à traiter à partir de la ligne 2
Tous les éléments doivent être séparés par des espaces et la partie téléphone débutant par "Tél:"
Je te propose ce code :
For Each c In Worksheets("Feuil1").Range("A2", "A" & Sheets("Feuil1").Range("A65535").End(xlUp).Row) For i = 0 To UBound(Split(c, " ")) If IsNumeric(Split(c, " ")(i)) = True And Len(Split(c, " ")(i)) = 5 Then Ville = Mid(c, Car) End If If Split(c, " ")(i) = "Tél:" Then c.Offset(0, 3) = Mid(c, Car) Exit For End If Car = Car + Len(Split(c, " ")(i)) + 1 Next c.Offset(0, 2) = Mid(Ville, 1, Len(Ville) - Len(c.Offset(0, 3))) c.Offset(0, 1) = Mid(c, 1, Len(c) - (Len(c.Offset(0, 2)) + Len(c.Offset(0, 3)))) Car = 0 Next
Résultat colonne B/C/D
Celà devrait convenir Dis moi !!!!
Philippe MERY
"FFO" a écrit dans le message de news:
Salut Philippe
Soit la Feuil1 colonne A à traiter à partir de la ligne 2
Tous les éléments doivent être séparés par des espaces et la partie téléphone débutant par "Tél:"
Je te propose ce code :
For Each c In Worksheets("Feuil1").Range("A2", "A" & Sheets("Feuil1").Range("A65535").End(xlUp).Row) For i = 0 To UBound(Split(c, " ")) If IsNumeric(Split(c, " ")(i)) = True And Len(Split(c, " ")(i)) = 5 Then Ville = Mid(c, Car) End If If Split(c, " ")(i) = "Tél:" Then c.Offset(0, 3) = Mid(c, Car) Exit For End If Car = Car + Len(Split(c, " ")(i)) + 1 Next c.Offset(0, 2) = Mid(Ville, 1, Len(Ville) - Len(c.Offset(0, 3))) c.Offset(0, 1) = Mid(c, 1, Len(c) - (Len(c.Offset(0, 2)) + Len(c.Offset(0, 3)))) Car = 0 Next
Résultat colonne B/C/D
Celà devrait convenir Dis moi !!!!
Merci de ton aide, mais je suis neuneuh ,et je ne sais pas utiliser cet outil :-/ du coup je suis perdu...
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
751C7E37-D0E6-4178-AA02-E0DA91070AA2@microsoft.com...
Salut Philippe
Soit la Feuil1 colonne A à traiter à partir de la ligne 2
Tous les éléments doivent être séparés par des espaces et la partie
téléphone débutant par "Tél:"
Je te propose ce code :
For Each c In Worksheets("Feuil1").Range("A2", "A" &
Sheets("Feuil1").Range("A65535").End(xlUp).Row)
For i = 0 To UBound(Split(c, " "))
If IsNumeric(Split(c, " ")(i)) = True And Len(Split(c, " ")(i)) = 5 Then
Ville = Mid(c, Car)
End If
If Split(c, " ")(i) = "Tél:" Then
c.Offset(0, 3) = Mid(c, Car)
Exit For
End If
Car = Car + Len(Split(c, " ")(i)) + 1
Next
c.Offset(0, 2) = Mid(Ville, 1, Len(Ville) - Len(c.Offset(0, 3)))
c.Offset(0, 1) = Mid(c, 1, Len(c) - (Len(c.Offset(0, 2)) + Len(c.Offset(0,
3))))
Car = 0
Next
Résultat colonne B/C/D
Celà devrait convenir
Dis moi !!!!
Merci de ton aide, mais je suis neuneuh ,et je ne sais pas utiliser cet
outil :-/
du coup je suis perdu...
Soit la Feuil1 colonne A à traiter à partir de la ligne 2
Tous les éléments doivent être séparés par des espaces et la partie téléphone débutant par "Tél:"
Je te propose ce code :
For Each c In Worksheets("Feuil1").Range("A2", "A" & Sheets("Feuil1").Range("A65535").End(xlUp).Row) For i = 0 To UBound(Split(c, " ")) If IsNumeric(Split(c, " ")(i)) = True And Len(Split(c, " ")(i)) = 5 Then Ville = Mid(c, Car) End If If Split(c, " ")(i) = "Tél:" Then c.Offset(0, 3) = Mid(c, Car) Exit For End If Car = Car + Len(Split(c, " ")(i)) + 1 Next c.Offset(0, 2) = Mid(Ville, 1, Len(Ville) - Len(c.Offset(0, 3))) c.Offset(0, 1) = Mid(c, 1, Len(c) - (Len(c.Offset(0, 2)) + Len(c.Offset(0, 3)))) Car = 0 Next
Résultat colonne B/C/D
Celà devrait convenir Dis moi !!!!
Merci de ton aide, mais je suis neuneuh ,et je ne sais pas utiliser cet outil :-/ du coup je suis perdu...
FFO
Rebonjour à toi
Dans un classeur tout neuf en Feuil1 colonne A rapporte toutes tes données à partir de A2 (Mets en A1 un nom de colonne)
Crées une Macro :
Outil/Macro/Nouvelle Macro Donnes un nom à ta Macro sans espace puis OK
Dans la petite fenêtre "Arr" cliques sur le carré bleu
Modifies la Macro créée en mettant mon code :
Outils/Macro/Macros Sélectionnes la Macro et Modifier
Dans l'éditeur qui viens de souvrir entre Sub Mamacro et End Sub recopies mon code
Fermes l'éditeur par la croix en haut à droite
Exécute la macro créée :
Outils/Macro/Macros Sélectionnes la Macro et Exécuter
Va voir dans Feuil1 colonne B/C/D le résultat
Donnes moi des nouvelles !!!!!!
Rebonjour à toi
Dans un classeur tout neuf en Feuil1 colonne A rapporte toutes tes données à
partir de A2 (Mets en A1 un nom de colonne)
Crées une Macro :
Outil/Macro/Nouvelle Macro
Donnes un nom à ta Macro sans espace puis OK
Dans la petite fenêtre "Arr" cliques sur le carré bleu
Modifies la Macro créée en mettant mon code :
Outils/Macro/Macros
Sélectionnes la Macro et Modifier
Dans l'éditeur qui viens de souvrir entre Sub Mamacro et End Sub recopies
mon code
Fermes l'éditeur par la croix en haut à droite
Exécute la macro créée :
Outils/Macro/Macros
Sélectionnes la Macro et Exécuter
Je prie Dieu qu'il n'y ait pas un Hubert-Charles de la Tarendière habitant 15 Avenue du lapin qui fume à Saint-Remy-en-Bouzemont-Saint-Genest-et-Hisson dans la liste des clients. (;o))
"Philippe MERY" a écrit dans le message de news: 4989b122$0$9377$
"FFO" a écrit dans le message de news:
Salut Philippe
Soit la Feuil1 colonne A à traiter à partir de la ligne 2
Tous les éléments doivent être séparés par des espaces et la partie téléphone débutant par "Tél:"
Je te propose ce code :
For Each c In Worksheets("Feuil1").Range("A2", "A" & Sheets("Feuil1").Range("A65535").End(xlUp).Row) For i = 0 To UBound(Split(c, " ")) If IsNumeric(Split(c, " ")(i)) = True And Len(Split(c, " ")(i)) = 5 Then Ville = Mid(c, Car) End If If Split(c, " ")(i) = "Tél:" Then c.Offset(0, 3) = Mid(c, Car) Exit For End If Car = Car + Len(Split(c, " ")(i)) + 1 Next c.Offset(0, 2) = Mid(Ville, 1, Len(Ville) - Len(c.Offset(0, 3))) c.Offset(0, 1) = Mid(c, 1, Len(c) - (Len(c.Offset(0, 2)) + Len(c.Offset(0, 3)))) Car = 0 Next
Résultat colonne B/C/D
Celà devrait convenir Dis moi !!!!
Merci de ton aide, mais je suis neuneuh ,et je ne sais pas utiliser cet outil :-/ du coup je suis perdu...
Je prie Dieu qu'il n'y ait pas un Hubert-Charles de la Tarendière habitant 15 Avenue du lapin qui
fume à Saint-Remy-en-Bouzemont-Saint-Genest-et-Hisson dans la liste des clients.
(;o))
"Philippe MERY" <mery-ph@-discret-ifrance.com> a écrit dans le message de news:
4989b122$0$9377$ba4acef3@news.orange.fr...
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
751C7E37-D0E6-4178-AA02-E0DA91070AA2@microsoft.com...
Salut Philippe
Soit la Feuil1 colonne A à traiter à partir de la ligne 2
Tous les éléments doivent être séparés par des espaces et la partie
téléphone débutant par "Tél:"
Je te propose ce code :
For Each c In Worksheets("Feuil1").Range("A2", "A" &
Sheets("Feuil1").Range("A65535").End(xlUp).Row)
For i = 0 To UBound(Split(c, " "))
If IsNumeric(Split(c, " ")(i)) = True And Len(Split(c, " ")(i)) = 5 Then
Ville = Mid(c, Car)
End If
If Split(c, " ")(i) = "Tél:" Then
c.Offset(0, 3) = Mid(c, Car)
Exit For
End If
Car = Car + Len(Split(c, " ")(i)) + 1
Next
c.Offset(0, 2) = Mid(Ville, 1, Len(Ville) - Len(c.Offset(0, 3)))
c.Offset(0, 1) = Mid(c, 1, Len(c) - (Len(c.Offset(0, 2)) + Len(c.Offset(0,
3))))
Car = 0
Next
Résultat colonne B/C/D
Celà devrait convenir
Dis moi !!!!
Merci de ton aide, mais je suis neuneuh ,et je ne sais pas utiliser cet outil :-/
du coup je suis perdu...
Je prie Dieu qu'il n'y ait pas un Hubert-Charles de la Tarendière habitant 15 Avenue du lapin qui fume à Saint-Remy-en-Bouzemont-Saint-Genest-et-Hisson dans la liste des clients. (;o))
"Philippe MERY" a écrit dans le message de news: 4989b122$0$9377$
"FFO" a écrit dans le message de news:
Salut Philippe
Soit la Feuil1 colonne A à traiter à partir de la ligne 2
Tous les éléments doivent être séparés par des espaces et la partie téléphone débutant par "Tél:"
Je te propose ce code :
For Each c In Worksheets("Feuil1").Range("A2", "A" & Sheets("Feuil1").Range("A65535").End(xlUp).Row) For i = 0 To UBound(Split(c, " ")) If IsNumeric(Split(c, " ")(i)) = True And Len(Split(c, " ")(i)) = 5 Then Ville = Mid(c, Car) End If If Split(c, " ")(i) = "Tél:" Then c.Offset(0, 3) = Mid(c, Car) Exit For End If Car = Car + Len(Split(c, " ")(i)) + 1 Next c.Offset(0, 2) = Mid(Ville, 1, Len(Ville) - Len(c.Offset(0, 3))) c.Offset(0, 1) = Mid(c, 1, Len(c) - (Len(c.Offset(0, 2)) + Len(c.Offset(0, 3)))) Car = 0 Next
Résultat colonne B/C/D
Celà devrait convenir Dis moi !!!!
Merci de ton aide, mais je suis neuneuh ,et je ne sais pas utiliser cet outil :-/ du coup je suis perdu...
Albert
Bonjour
"FFO" a écrit dans le message de news:
Rebonjour à toi
Dans un classeur tout neuf en Feuil1 colonne A rapporte toutes tes données à partir de A2 (Mets en A1 un nom de colonne) Crées une Macro : Outil/Macro/Nouvelle Macro Donnes un nom à ta Macro sans espace puis OK
Dans la petite fenêtre "Arr" cliques sur le carré bleu
Ceci m'intéresse, mais avec Excel 2000 et 2007 je ne vois pas cette petite fenêtre avec le carré bleu
Après le clic sur OK ma macro s'ouvre sur une cellule de la feuille.
C'est quoi cette petite fenêtre que je ne vois pas ?
Merci
-- albertri-at-videotron.ca.invalid
Bonjour
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de
news:88FF1551-BE02-409D-ADE5-4D9A449CDB24@microsoft.com...
Rebonjour à toi
Dans un classeur tout neuf en Feuil1 colonne A rapporte toutes tes données
à
partir de A2 (Mets en A1 un nom de colonne)
Crées une Macro :
Outil/Macro/Nouvelle Macro
Donnes un nom à ta Macro sans espace puis OK
Dans la petite fenêtre "Arr" cliques sur le carré bleu
Ceci m'intéresse, mais avec Excel 2000 et 2007 je ne vois pas cette petite
fenêtre avec le carré bleu
Après le clic sur OK ma macro s'ouvre sur une cellule de la feuille.
C'est quoi cette petite fenêtre que je ne vois pas ?
Dans un classeur tout neuf en Feuil1 colonne A rapporte toutes tes données à partir de A2 (Mets en A1 un nom de colonne) Crées une Macro : Outil/Macro/Nouvelle Macro Donnes un nom à ta Macro sans espace puis OK
Dans la petite fenêtre "Arr" cliques sur le carré bleu
Ceci m'intéresse, mais avec Excel 2000 et 2007 je ne vois pas cette petite fenêtre avec le carré bleu
Après le clic sur OK ma macro s'ouvre sur une cellule de la feuille.
C'est quoi cette petite fenêtre que je ne vois pas ?
Merci
-- albertri-at-videotron.ca.invalid
FFO
Salut Albert
Normalement lorsque tu crées une macro aprés avoir fait ceci :
Outil/Macro/Nouvelle Macro Donnes un nom à ta Macro sans espace puis OK
une petite fenêtre apparait quelque part sur la feuille active avec à l'interieur un intitullé "Arr" et un carré bleu
Si ce n'est pas le cas il faut pour la faire apparaitre opérer cette manipulation :
merci de ton aide, mais au lancement de la macro, un message d'erreur apparait "Erreur de compilation: sub ou functuion non definie"
Albert
Bonjour
"FFO" a écrit dans le message de news:
Salut Albert
Normalement lorsque tu crées une macro aprés avoir fait ceci : Outil/Macro/Nouvelle Macro Donnes un nom à ta Macro sans espace puis OK une petite fenêtre apparait quelque part sur la feuille active avec à l'interieur un intitullé "Arr" et un carré bleu
Après toutes ces années et quelques centaines de macros je ne connaissais pas cette mini barre d'outil, jai toujours utilisé Outils/Macro/Arrêter_l'enregistrement.
Si ce n'est pas le cas il faut pour la faire apparaitre opérer cette manipulation :> Affichage/Barres d'outils/ Selectionner "Arrêter l'enregistrement"
Lorsque la barre d'outil est cochée avec EXCEL2000 la barre est toujours présente dans la feuille ou dans la barre d'outils en haut, et non pas seulement lors d'un enregistrement de macro.
Merci beaucoup pour cette explication
Ici un beau ciel bleu et -19°C,
-- albertri-at-videotron.ca.invalid
Bonjour
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de
news:0256728A-AB25-46BF-85A9-8061CCBC2C2D@microsoft.com...
Salut Albert
Normalement lorsque tu crées une macro aprés avoir fait ceci :
Outil/Macro/Nouvelle Macro
Donnes un nom à ta Macro sans espace puis OK
une petite fenêtre apparait quelque part sur la feuille active avec à
l'interieur un intitullé "Arr" et un carré bleu
Après toutes ces années et quelques centaines de macros je ne connaissais
pas cette mini barre d'outil, jai toujours utilisé
Outils/Macro/Arrêter_l'enregistrement.
Si ce n'est pas le cas il faut pour la faire apparaitre opérer cette
manipulation :>
Affichage/Barres d'outils/
Selectionner "Arrêter l'enregistrement"
Lorsque la barre d'outil est cochée avec EXCEL2000 la barre est toujours
présente dans la feuille ou dans la barre d'outils en haut, et non pas
seulement lors d'un enregistrement de macro.
Normalement lorsque tu crées une macro aprés avoir fait ceci : Outil/Macro/Nouvelle Macro Donnes un nom à ta Macro sans espace puis OK une petite fenêtre apparait quelque part sur la feuille active avec à l'interieur un intitullé "Arr" et un carré bleu
Après toutes ces années et quelques centaines de macros je ne connaissais pas cette mini barre d'outil, jai toujours utilisé Outils/Macro/Arrêter_l'enregistrement.
Si ce n'est pas le cas il faut pour la faire apparaitre opérer cette manipulation :> Affichage/Barres d'outils/ Selectionner "Arrêter l'enregistrement"
Lorsque la barre d'outil est cochée avec EXCEL2000 la barre est toujours présente dans la feuille ou dans la barre d'outils en haut, et non pas seulement lors d'un enregistrement de macro.