Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin, Place,
Avenue etc.
Merci
Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin, Place,
Avenue etc.
Merci
Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin, Place,
Avenue etc.
Merci
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin, Place,
Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4471c5d1$0$17372$636a55ce@news.free.fr...
Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin, Place,
Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin, Place,
Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin, Place,
Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4471c5d1$0$17372$636a55ce@news.free.fr...
Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin, Place,
Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin, Place,
Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment que
l'indice ne fait pas partie de la sélection, est-ce qu'il serait possible
de me décrire un peu le fonctionnement de la macro, en tout cas merci
encore.
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4471c5d1$0$17372$636a55ce@news.free.fr...
Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment que
l'indice ne fait pas partie de la sélection, est-ce qu'il serait possible
de me décrire un peu le fonctionnement de la macro, en tout cas merci
encore.
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment que
l'indice ne fait pas partie de la sélection, est-ce qu'il serait possible
de me décrire un peu le fonctionnement de la macro, en tout cas merci
encore.
Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment que
l'indice ne fait pas partie de la sélection, est-ce qu'il serait possible
de me décrire un peu le fonctionnement de la macro, en tout cas merci
encore.
Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
44721A7D.2000103@free.fr...
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4471c5d1$0$17372$636a55ce@news.free.fr...
Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment que
l'indice ne fait pas partie de la sélection, est-ce qu'il serait possible
de me décrire un peu le fonctionnement de la macro, en tout cas merci
encore.
Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le biais
d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment que
l'indice ne fait pas partie de la sélection, est-ce qu'il serait possible
de me décrire un peu le fonctionnement de la macro, en tout cas merci
encore.
A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou le
format cellule ont-ils un rapport, merci en tout cas pour votre aide.Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
que l'indice ne fait pas partie de la sélection, est-ce qu'il serait
possible de me décrire un peu le fonctionnement de la macro, en tout cas
merci encore.
A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou le
format cellule ont-ils un rapport, merci en tout cas pour votre aide.
Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
44721A7D.2000103@free.fr...
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4471c5d1$0$17372$636a55ce@news.free.fr...
Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
que l'indice ne fait pas partie de la sélection, est-ce qu'il serait
possible de me décrire un peu le fonctionnement de la macro, en tout cas
merci encore.
A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou le
format cellule ont-ils un rapport, merci en tout cas pour votre aide.Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
que l'indice ne fait pas partie de la sélection, est-ce qu'il serait
possible de me décrire un peu le fonctionnement de la macro, en tout cas
merci encore.
Bonjour.
Peux-tu mettre ton classeur, ou simplement les adresses dans un classeur
vierge à l'adresse :
www.cjoint.com
Daniel
"morprr" a écrit dans le message de news:
4472baf5$0$7673$A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou le
format cellule ont-ils un rapport, merci en tout cas pour votre aide.Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
que l'indice ne fait pas partie de la sélection, est-ce qu'il serait
possible de me décrire un peu le fonctionnement de la macro, en tout cas
merci encore.
Bonjour.
Peux-tu mettre ton classeur, ou simplement les adresses dans un classeur
vierge à l'adresse :
www.cjoint.com
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4472baf5$0$7673$626a54ce@news.free.fr...
A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou le
format cellule ont-ils un rapport, merci en tout cas pour votre aide.
Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
44721A7D.2000103@free.fr...
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4471c5d1$0$17372$636a55ce@news.free.fr...
Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
que l'indice ne fait pas partie de la sélection, est-ce qu'il serait
possible de me décrire un peu le fonctionnement de la macro, en tout cas
merci encore.
Bonjour.
Peux-tu mettre ton classeur, ou simplement les adresses dans un classeur
vierge à l'adresse :
www.cjoint.com
Daniel
"morprr" a écrit dans le message de news:
4472baf5$0$7673$A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou le
format cellule ont-ils un rapport, merci en tout cas pour votre aide.Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de solution
pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
que l'indice ne fait pas partie de la sélection, est-ce qu'il serait
possible de me décrire un peu le fonctionnement de la macro, en tout cas
merci encore.
Bonjour,
Voilà le classeur.
J'ai mis dans la colonne D, le forma des rues que l'on utilise, merci.
http://cjoint.com/?fxlE5nWTLZBonjour.
Peux-tu mettre ton classeur, ou simplement les adresses dans un classeur
vierge à l'adresse :
www.cjoint.com
Daniel
"morprr" a écrit dans le message de news:
4472baf5$0$7673$A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou le
format cellule ont-ils un rapport, merci en tout cas pour votre aide.Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de
solution pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
que l'indice ne fait pas partie de la sélection, est-ce qu'il serait
possible de me décrire un peu le fonctionnement de la macro, en tout
cas merci encore.
Bonjour,
Voilà le classeur.
J'ai mis dans la colonne D, le forma des rues que l'on utilise, merci.
http://cjoint.com/?fxlE5nWTLZ
Bonjour.
Peux-tu mettre ton classeur, ou simplement les adresses dans un classeur
vierge à l'adresse :
www.cjoint.com
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4472baf5$0$7673$626a54ce@news.free.fr...
A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou le
format cellule ont-ils un rapport, merci en tout cas pour votre aide.
Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
44721A7D.2000103@free.fr...
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de
solution pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4471c5d1$0$17372$636a55ce@news.free.fr...
Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
que l'indice ne fait pas partie de la sélection, est-ce qu'il serait
possible de me décrire un peu le fonctionnement de la macro, en tout
cas merci encore.
Bonjour,
Voilà le classeur.
J'ai mis dans la colonne D, le forma des rues que l'on utilise, merci.
http://cjoint.com/?fxlE5nWTLZBonjour.
Peux-tu mettre ton classeur, ou simplement les adresses dans un classeur
vierge à l'adresse :
www.cjoint.com
Daniel
"morprr" a écrit dans le message de news:
4472baf5$0$7673$A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou le
format cellule ont-ils un rapport, merci en tout cas pour votre aide.Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de
solution pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
que l'indice ne fait pas partie de la sélection, est-ce qu'il serait
possible de me décrire un peu le fonctionnement de la macro, en tout
cas merci encore.
C'est corrigé. Le résultat n'est pas terrible. J'espère te donner mieux
d'ici demain matin :
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A2", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Texte = ""
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Texte = Trim(Texte)
Tablo = Split(Texte)
If UBound(Tablo) > 0 Then
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
End If
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonjour,
Voilà le classeur.
J'ai mis dans la colonne D, le forma des rues que l'on utilise, merci.
http://cjoint.com/?fxlE5nWTLZBonjour.
Peux-tu mettre ton classeur, ou simplement les adresses dans un classeur
vierge à l'adresse :
www.cjoint.com
Daniel
"morprr" a écrit dans le message de news:
4472baf5$0$7673$A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou le
format cellule ont-ils un rapport, merci en tout cas pour votre aide.Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de
solution pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
que l'indice ne fait pas partie de la sélection, est-ce qu'il serait
possible de me décrire un peu le fonctionnement de la macro, en tout
cas merci encore.
C'est corrigé. Le résultat n'est pas terrible. J'espère te donner mieux
d'ici demain matin :
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A2", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Texte = ""
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Texte = Trim(Texte)
Tablo = Split(Texte)
If UBound(Tablo) > 0 Then
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
End If
Next c
End Sub
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4472D6AD.8020002@free.fr...
Bonjour,
Voilà le classeur.
J'ai mis dans la colonne D, le forma des rues que l'on utilise, merci.
http://cjoint.com/?fxlE5nWTLZ
Bonjour.
Peux-tu mettre ton classeur, ou simplement les adresses dans un classeur
vierge à l'adresse :
www.cjoint.com
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4472baf5$0$7673$626a54ce@news.free.fr...
A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou le
format cellule ont-ils un rapport, merci en tout cas pour votre aide.
Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
44721A7D.2000103@free.fr...
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de
solution pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4471c5d1$0$17372$636a55ce@news.free.fr...
Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
que l'indice ne fait pas partie de la sélection, est-ce qu'il serait
possible de me décrire un peu le fonctionnement de la macro, en tout
cas merci encore.
C'est corrigé. Le résultat n'est pas terrible. J'espère te donner mieux
d'ici demain matin :
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A2", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Texte = ""
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Texte = Trim(Texte)
Tablo = Split(Texte)
If UBound(Tablo) > 0 Then
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
End If
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonjour,
Voilà le classeur.
J'ai mis dans la colonne D, le forma des rues que l'on utilise, merci.
http://cjoint.com/?fxlE5nWTLZBonjour.
Peux-tu mettre ton classeur, ou simplement les adresses dans un classeur
vierge à l'adresse :
www.cjoint.com
Daniel
"morprr" a écrit dans le message de news:
4472baf5$0$7673$A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou le
format cellule ont-ils un rapport, merci en tout cas pour votre aide.Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère espace
servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace entre
chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les noms
composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de
solution pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro ou
plusieurs avec différents possibilités à savoir Boulevard, Chemin,
Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par moment
que l'indice ne fait pas partie de la sélection, est-ce qu'il serait
possible de me décrire un peu le fonctionnement de la macro, en tout
cas merci encore.
Merci, merci, merci beaucoup.
Le résultat est déjà très bon, merci encore.C'est corrigé. Le résultat n'est pas terrible. J'espère te donner mieux
d'ici demain matin :
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A2", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Texte = ""
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Texte = Trim(Texte)
Tablo = Split(Texte)
If UBound(Tablo) > 0 Then
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
End If
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonjour,
Voilà le classeur.
J'ai mis dans la colonne D, le forma des rues que l'on utilise, merci.
http://cjoint.com/?fxlE5nWTLZBonjour.
Peux-tu mettre ton classeur, ou simplement les adresses dans un
classeur vierge à l'adresse :
www.cjoint.com
Daniel
"morprr" a écrit dans le message de news:
4472baf5$0$7673$A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le
fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou
le format cellule ont-ils un rapport, merci en tout cas pour votre
aide.Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère
espace servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace
entre chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les
noms composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de
solution pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro
ou plusieurs avec différents possibilités à savoir Boulevard,
Chemin, Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par
moment que l'indice ne fait pas partie de la sélection, est-ce qu'il
serait possible de me décrire un peu le fonctionnement de la macro,
en tout cas merci encore.
Merci, merci, merci beaucoup.
Le résultat est déjà très bon, merci encore.
C'est corrigé. Le résultat n'est pas terrible. J'espère te donner mieux
d'ici demain matin :
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A2", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Texte = ""
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Texte = Trim(Texte)
Tablo = Split(Texte)
If UBound(Tablo) > 0 Then
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
End If
Next c
End Sub
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4472D6AD.8020002@free.fr...
Bonjour,
Voilà le classeur.
J'ai mis dans la colonne D, le forma des rues que l'on utilise, merci.
http://cjoint.com/?fxlE5nWTLZ
Bonjour.
Peux-tu mettre ton classeur, ou simplement les adresses dans un
classeur vierge à l'adresse :
www.cjoint.com
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4472baf5$0$7673$626a54ce@news.free.fr...
A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le
fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou
le format cellule ont-ils un rapport, merci en tout cas pour votre
aide.
Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère
espace servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace
entre chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
44721A7D.2000103@free.fr...
Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les
noms composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de
solution pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" <morprr@free.fr> a écrit dans le message de news:
4471c5d1$0$17372$636a55ce@news.free.fr...
Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro
ou plusieurs avec différents possibilités à savoir Boulevard,
Chemin, Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par
moment que l'indice ne fait pas partie de la sélection, est-ce qu'il
serait possible de me décrire un peu le fonctionnement de la macro,
en tout cas merci encore.
Merci, merci, merci beaucoup.
Le résultat est déjà très bon, merci encore.C'est corrigé. Le résultat n'est pas terrible. J'espère te donner mieux
d'ici demain matin :
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A2", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Texte = ""
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Texte = Trim(Texte)
Tablo = Split(Texte)
If UBound(Tablo) > 0 Then
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
End If
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonjour,
Voilà le classeur.
J'ai mis dans la colonne D, le forma des rues que l'on utilise, merci.
http://cjoint.com/?fxlE5nWTLZBonjour.
Peux-tu mettre ton classeur, ou simplement les adresses dans un
classeur vierge à l'adresse :
www.cjoint.com
Daniel
"morprr" a écrit dans le message de news:
4472baf5$0$7673$A) Eh bien difficile à dire. Il s'arrête sur les 27res lignes.
Arrivé à "Botte", ça ne fonctionne plus. il y 500 lignes dans le
fichier.
(Ch de la Fosse à Cran) A1
Harengs (1 Ruelle des Neufliers 2 Rue des) E4
(Al des Tilleuls) C3
(Al J. Moreau) B4
(Al R. Cherrière) B4
(Allée de la Chenaie) A3
(Allée J. Martinot) F4
(Ancien chemin de Semilly) A2
(Arbalette) D3
(AV) C2
(Av G. Clemenceau) D2
(Av G. Clemenceau) F4
(Av J.Jaurès) C2
(Avenue CHARLES DE GAULLE) D2
(Avenue de la République) C2
(Avenue PIERRE MENDES FRANCE D 51) D1
(Avenue GAMBETTA) E4
(Avenue G. Pompidou) C4
(Avenue de l' Europe) E2
(Avenue Georges Pompidou) C4
(Avenue DU MARECHAL FOCH) B3
(Avenue DU MARECHAL FOCH) A2
(Avenue P.) D1
(BD PIERRE BROSSOLETTE) B2
(BD DE LYON) C2
(Berjamaine) D4
(Bossus) D2
Botté D4
B) Sur ce texte, il prend toute la ligne en parenthèse
voir ci-dessus
Rue Voltaire F2
Rue Ampère E1
Rue Victor Basselet C1
Rue Victor Audin C1
Rue Quent D1
RUE PASTEUR D3
Rue Saint-Martin B2
Rue Vinchon F4
Rue Pierre Bourdan E1
Rue Pierre Bourdan E1
Rue Léon Blum E3
Rue Régina D4
Rue de Manoise D1
Rue Diderot F1
Rue Frocault D1
Rue Hachet D1
Rue Varlet D1
Rue Delaplace D1
Rue Meurant D1
Rue Romanette B4
Rue Serrurier E4
C) Il faut activer 2 fois, pour arriver à ce résultat,
je peux faire un rechercher/remplacer pour supprimer ce qui ne va pas.
Voltaire) ( (rue) F2
Ampère) ( (rue) E1
Basselet) ( (rue Victor) C1
Audin) ( (rue Victor) C1
Quent) ( (rue) D1
PASTEUr) ( (rUE) D3
Saint-Martin) ( (rue) B2
Vinchon) ( (rue) F4
Bourdan) ( (rue Pierre) E1
Bourdan) ( (rue Pierre) E1
Blum) ( (rue Léon) E3
régina) ( (rue) D4
Manoise) ( (rue de) D1
Diderot) ( (rue) F1
Frocault) ( (rue) D1
Hachet) ( (rue) D1
Varlet) ( (rue) D1
Delaplace) ( (rue) D1
Meurant) ( (rue) D1
romanette) ( (rue) B4
Serrurier) ( (rue) E4
A quoi sert l'"'" dans la macro.
Ce qui est étonnat; j'ai essayé avec 2 ou 3 lignes, et du 1er coup ça
fonctionnait. Et avec ce texte, ça ne fonctionne pas. Les Capitales ou
le format cellule ont-ils un rapport, merci en tout cas pour votre
aide.Pour quelle valeur de cellule as-tu le message d'erreur ?
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
*********** définition de la plage de cellules à traiter
For Each c In Plage
*********** pour chaque cellule de cette plage
Num = 0
Num = InStr(1, c.Value, "'")
********* recherche d'une apostrophe
If Num > 0 Then
********* si il y en a une
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
********* ajout d'un espace derrière l'apostrophe
Else
Texte = c.Value
End If
Tablo = Split(Texte)
********* le texte est découpé en morceaux, le ceractère
espace servant de séparateur par défaut
TexteMod = Tablo(UBound(Tablo)) & " ("
********* on prend le dernier morceau et "("
ReDim Preserve Tablo(UBound(Tablo) - 1)
********* on supprime le dernier morceau
TexteMod = TexteMod & Join(Tablo) & ")"
********* on ajoute les morceaux regroupés avec une espace
entre chaque et ")"
c.Value = TexteMod
********* et colle le tout dans la cellule initiale
Next c
End Sub
Daniel
"morprr" a écrit dans le message de news:Bonsoir.
Regarde cette macro qui semble fonctionner, au moins tant que les
noms composés sont reliés par des tirets :
rue Charles-de-Gaulle : oui, rue Charles de Gaulle, non. Pas de
solution pour rue Henri IV.
Sub test()
Dim Plage As Range, c As Range
Dim Num As Integer, Tablo, Texte As String, TexteMod As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
Num = 0
Num = InStr(1, c.Value, "'")
If Num > 0 Then
Texte = Left(c.Value, Num - 1) & "' " & Right(c.Value,
Len(c.Value) - Num)
Else
Texte = c.Value
End If
Tablo = Split(Texte)
TexteMod = Tablo(UBound(Tablo)) & " ("
ReDim Preserve Tablo(UBound(Tablo) - 1)
TexteMod = TexteMod & Join(Tablo) & ")"
c.Value = TexteMod
Next c
End Sub
Cordialement.
Daniel
"morprr" a écrit dans le message de news:
4471c5d1$0$17372$Bonjour,
J'ai un fichier texte que j'importe dans Excel, je souhaite par le
biais d'une ou plusiurs macros; épurer ce fichier :
Exemple : Rue de Breuil,
je souhaite l'avoir sous cette forme
Breuil (rue de)
Les stxt() fonctionnent mais je souhaite automatiser par une macro
ou plusieurs avec différents possibilités à savoir Boulevard,
Chemin, Place, Avenue etc.
Merci
Merci beaucoup, c'est tout simplemeent génial. Il m'indique par
moment que l'indice ne fait pas partie de la sélection, est-ce qu'il
serait possible de me décrire un peu le fonctionnement de la macro,
en tout cas merci encore.