OVH Cloud OVH Cloud

1 macro miracle

4 réponses
Avatar
jipaih
bonjour,
au boulot j'ai souvent des fichiers (excel 2000) avec un suite de nom
d'associations (du style "amicale de la boule joyeuse des boulistes avertis"
suivi (pas toujours) de "à Parlabas" (nom de la commune siège qui n'est pas
précisé s'il figure déjà dans le nom de l'assoc) ; environ 30-40 noms par
cellule séparés par des virgules.
Mon pb : enlever tous les "à Parici" ("à" + nom commune) et laisser la
virgule qui sépare du nom suivant, d'un coup (plusieurs dzs de lignes à
traiter).
C'est possible ?
merci

--
Enlever NonNon dans l'adresse pour réponse directe. Merci.

4 réponses

Avatar
Daniel
Bonsoir.
Peut-on considérer que tout ce qui commence par "à " est suivi d'un nom de
commune et que chaque nom de commune est suivi soit d'une virgule, soit de
la fin du texte. C'est à dire que une association havraise s'écrira XXX à Le
Havre et non au Havre ?
Cordialement.
Daniel
"jipaih" a écrit dans le message de news:
OiuKd.18044$
bonjour,
au boulot j'ai souvent des fichiers (excel 2000) avec un suite de nom
d'associations (du style "amicale de la boule joyeuse des boulistes
avertis" suivi (pas toujours) de "à Parlabas" (nom de la commune siège qui
n'est pas précisé s'il figure déjà dans le nom de l'assoc) ; environ 30-40
noms par cellule séparés par des virgules.
Mon pb : enlever tous les "à Parici" ("à" + nom commune) et laisser la
virgule qui sépare du nom suivant, d'un coup (plusieurs dzs de lignes à
traiter).
C'est possible ?
merci

--
Enlever NonNon dans l'adresse pour réponse directe. Merci.



Avatar
Rodolphe
"Daniel" a écrit dans le message de news:

Bonsoir.
Peut-on considérer que tout ce qui commence par "à " est suivi d'un nom de
commune et que chaque nom de commune est suivi soit d'une virgule, soit de
la fin du texte. C'est à dire que une association havraise s'écrira XXX à
Le Havre et non au Havre ?
Cordialement.
Daniel



Euh! J'ai pas tout compris là. :(

Avatar
Daniel
Bonsoir.
Essaie la macro suivante :Sub Test()
Dim c As Range, Ctr As Integer, Texte As String
Range("A1:A100").Select
For Each c In Selection
Texte = c.Value
For Ctr = 1 To Len(c.Value)
If Mid(Texte, Ctr, 1) = "à" Then
Ctr = Ctr - 1
Do Until Mid(Texte, Ctr, 1) = "," Or Ctr = Len(c.Value) + 1
Mid(Texte, Ctr, 1) = "!"
Ctr = Ctr + 1
Loop
End If
Next Ctr
c.Value = Texte
c.Replace What:="!", Replacement:="", LookAt:=xlPart,
SearchOrder:=xlByRows
Next c
End Sub
Cordialement.
Daniel

"jipaih" a écrit dans le message de news:
OiuKd.18044$
bonjour,
au boulot j'ai souvent des fichiers (excel 2000) avec un suite de nom
d'associations (du style "amicale de la boule joyeuse des boulistes
avertis" suivi (pas toujours) de "à Parlabas" (nom de la commune siège qui
n'est pas précisé s'il figure déjà dans le nom de l'assoc) ; environ 30-40
noms par cellule séparés par des virgules.
Mon pb : enlever tous les "à Parici" ("à" + nom commune) et laisser la
virgule qui sépare du nom suivant, d'un coup (plusieurs dzs de lignes à
traiter).
C'est possible ?
merci

--
Enlever NonNon dans l'adresse pour réponse directe. Merci.



Avatar
jipaih
Merci
je teste demain.
La réponse est oui à la question
"Daniel" a écrit dans le message de news:

Bonsoir.
Essaie la macro suivante :Sub Test()
Dim c As Range, Ctr As Integer, Texte As String
Range("A1:A100").Select
For Each c In Selection
Texte = c.Value
For Ctr = 1 To Len(c.Value)
If Mid(Texte, Ctr, 1) = "à" Then
Ctr = Ctr - 1
Do Until Mid(Texte, Ctr, 1) = "," Or Ctr = Len(c.Value) + 1
Mid(Texte, Ctr, 1) = "!"
Ctr = Ctr + 1
Loop
End If
Next Ctr
c.Value = Texte
c.Replace What:="!", Replacement:="", LookAt:=xlPart,
SearchOrder:=xlByRows
Next c
End Sub
Cordialement.
Daniel

"jipaih" a écrit dans le message de news:
OiuKd.18044$
bonjour,
au boulot j'ai souvent des fichiers (excel 2000) avec un suite de nom
d'associations (du style "amicale de la boule joyeuse des boulistes
avertis" suivi (pas toujours) de "à Parlabas" (nom de la commune siège
qui n'est pas précisé s'il figure déjà dans le nom de l'assoc) ; environ
30-40 noms par cellule séparés par des virgules.
Mon pb : enlever tous les "à Parici" ("à" + nom commune) et laisser la
virgule qui sépare du nom suivant, d'un coup (plusieurs dzs de lignes à
traiter).
C'est possible ?
merci

--
Enlever NonNon dans l'adresse pour réponse directe. Merci.