détecter par macro les cinq chiffres consécutifs du code postal dans une cellule
5 réponses
Antoine
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro, à
savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui
comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le
code postal et la ville en minuscule.
- Est-il possible de détecter par macro les cinq chiffres consécutifs du
code postal pour pouvoir mettre tout ce qui suit (= la ville) en majuscule.
- D'autre part, est-il possible de détecter, lorsque devant le code postal
il n'y a pas de retour chariot mais un "espace/tiret/espace", de remplacer
ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme par
exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JB
Bojour,
Sub essai() chaine = [A1] ' adresse en A1 p = Len(chaine) Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1 p = p - 1 Loop Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p - 7), " - ", Chr(10)) [B1] = chaine End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro, à savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le code postal et la ville en minuscule. - Est-il possible de détecter par macro les cinq chiffres consécutifs du code postal pour pouvoir mettre tout ce qui suit (= la ville) en majusc ule. - D'autre part, est-il possible de détecter, lorsque devant le code pos tal il n'y a pas de retour chariot mais un "espace/tiret/espace", de remplacer ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme p ar exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Merci à tous
Antoine
Bojour,
Sub essai()
chaine = [A1] ' adresse en A1
p = Len(chaine)
Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1
p = p - 1
Loop
Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules
chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p -
7), " - ", Chr(10))
[B1] = chaine
End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro, à
savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui
comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le
code postal et la ville en minuscule.
- Est-il possible de détecter par macro les cinq chiffres consécutifs du
code postal pour pouvoir mettre tout ce qui suit (= la ville) en majusc ule.
- D'autre part, est-il possible de détecter, lorsque devant le code pos tal
il n'y a pas de retour chariot mais un "espace/tiret/espace", de remplacer
ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme p ar
exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Sub essai() chaine = [A1] ' adresse en A1 p = Len(chaine) Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1 p = p - 1 Loop Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p - 7), " - ", Chr(10)) [B1] = chaine End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro, à savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le code postal et la ville en minuscule. - Est-il possible de détecter par macro les cinq chiffres consécutifs du code postal pour pouvoir mettre tout ce qui suit (= la ville) en majusc ule. - D'autre part, est-il possible de détecter, lorsque devant le code pos tal il n'y a pas de retour chariot mais un "espace/tiret/espace", de remplacer ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme p ar exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Merci à tous
Antoine
Antoine
Superbe !
Cela fonctionne exactement comme je pouvais l'attendre. Quoique j'ai du mal à comprendre comment elle fonctionne pour la recherche des cinq chiffres consécutifs !
Un grand merci
Antoine "JB" a écrit dans le message de news:
Bojour,
Sub essai() chaine = [A1] ' adresse en A1 p = Len(chaine) Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1 p = p - 1 Loop Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p - 7), " - ", Chr(10)) [B1] = chaine End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro, à savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le code postal et la ville en minuscule. - Est-il possible de détecter par macro les cinq chiffres consécutifs du code postal pour pouvoir mettre tout ce qui suit (= la ville) en majuscule. - D'autre part, est-il possible de détecter, lorsque devant le code postal il n'y a pas de retour chariot mais un "espace/tiret/espace", de remplacer ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme par exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Merci à tous
Antoine
Superbe !
Cela fonctionne exactement comme je pouvais l'attendre.
Quoique j'ai du mal à comprendre comment elle fonctionne pour la recherche
des cinq chiffres consécutifs !
Un grand merci
Antoine
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1156701909.608757.53500@i42g2000cwa.googlegroups.com...
Bojour,
Sub essai()
chaine = [A1] ' adresse en A1
p = Len(chaine)
Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1
p = p - 1
Loop
Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules
chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p -
7), " - ", Chr(10))
[B1] = chaine
End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro, à
savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui
comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le
code postal et la ville en minuscule.
- Est-il possible de détecter par macro les cinq chiffres consécutifs du
code postal pour pouvoir mettre tout ce qui suit (= la ville) en
majuscule.
- D'autre part, est-il possible de détecter, lorsque devant le code postal
il n'y a pas de retour chariot mais un "espace/tiret/espace", de remplacer
ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme par
exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Cela fonctionne exactement comme je pouvais l'attendre. Quoique j'ai du mal à comprendre comment elle fonctionne pour la recherche des cinq chiffres consécutifs !
Un grand merci
Antoine "JB" a écrit dans le message de news:
Bojour,
Sub essai() chaine = [A1] ' adresse en A1 p = Len(chaine) Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1 p = p - 1 Loop Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p - 7), " - ", Chr(10)) [B1] = chaine End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro, à savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le code postal et la ville en minuscule. - Est-il possible de détecter par macro les cinq chiffres consécutifs du code postal pour pouvoir mettre tout ce qui suit (= la ville) en majuscule. - D'autre part, est-il possible de détecter, lorsque devant le code postal il n'y a pas de retour chariot mais un "espace/tiret/espace", de remplacer ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme par exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Merci à tous
Antoine
JB
Dans le post précédent, pour repérer le CP, on recherche le premier caractère numérique de la droite vers la gauche. Ici, on cherche 5 caractères numériques consécutifs.
chaine = [A1] p = Len(chaine) - 5 Do While Not Mid(chaine, p, 5) Like "#####" And p > 1 p = p - 1 Loop Mid(chaine, p + 6) = UCase(Mid(chaine, p + 6)) chaine = Left(chaine, p - 4) & Application.Substitute(Mid(chaine, p - 3), " - ", Chr(10)) MsgBox chaine [B1] = chaine
JB
Superbe !
Cela fonctionne exactement comme je pouvais l'attendre. Quoique j'ai du mal à comprendre comment elle fonctionne pour la recher che des cinq chiffres consécutifs !
Un grand merci
Antoine "JB" a écrit dans le message de news:
Bojour,
Sub essai() chaine = [A1] ' adresse en A1 p = Len(chaine) Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1 p = p - 1 Loop Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p - 7), " - ", Chr(10)) [B1] = chaine End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro , à savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le code postal et la ville en minuscule. - Est-il possible de détecter par macro les cinq chiffres consécuti fs du code postal pour pouvoir mettre tout ce qui suit (= la ville) en majuscule. - D'autre part, est-il possible de détecter, lorsque devant le code p ostal il n'y a pas de retour chariot mais un "espace/tiret/espace", de rempla cer ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme par exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Merci à tous
Antoine
Dans le post précédent, pour repérer le CP, on recherche le premier
caractère numérique de la droite vers la gauche. Ici, on cherche 5
caractères numériques consécutifs.
chaine = [A1]
p = Len(chaine) - 5
Do While Not Mid(chaine, p, 5) Like "#####" And p > 1
p = p - 1
Loop
Mid(chaine, p + 6) = UCase(Mid(chaine, p + 6))
chaine = Left(chaine, p - 4) & Application.Substitute(Mid(chaine, p -
3), " - ", Chr(10))
MsgBox chaine
[B1] = chaine
JB
Superbe !
Cela fonctionne exactement comme je pouvais l'attendre.
Quoique j'ai du mal à comprendre comment elle fonctionne pour la recher che
des cinq chiffres consécutifs !
Un grand merci
Antoine
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1156701909.608757.53500@i42g2000cwa.googlegroups.com...
Bojour,
Sub essai()
chaine = [A1] ' adresse en A1
p = Len(chaine)
Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1
p = p - 1
Loop
Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules
chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p -
7), " - ", Chr(10))
[B1] = chaine
End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro , à
savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui
comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le
code postal et la ville en minuscule.
- Est-il possible de détecter par macro les cinq chiffres consécuti fs du
code postal pour pouvoir mettre tout ce qui suit (= la ville) en
majuscule.
- D'autre part, est-il possible de détecter, lorsque devant le code p ostal
il n'y a pas de retour chariot mais un "espace/tiret/espace", de rempla cer
ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme par
exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Dans le post précédent, pour repérer le CP, on recherche le premier caractère numérique de la droite vers la gauche. Ici, on cherche 5 caractères numériques consécutifs.
chaine = [A1] p = Len(chaine) - 5 Do While Not Mid(chaine, p, 5) Like "#####" And p > 1 p = p - 1 Loop Mid(chaine, p + 6) = UCase(Mid(chaine, p + 6)) chaine = Left(chaine, p - 4) & Application.Substitute(Mid(chaine, p - 3), " - ", Chr(10)) MsgBox chaine [B1] = chaine
JB
Superbe !
Cela fonctionne exactement comme je pouvais l'attendre. Quoique j'ai du mal à comprendre comment elle fonctionne pour la recher che des cinq chiffres consécutifs !
Un grand merci
Antoine "JB" a écrit dans le message de news:
Bojour,
Sub essai() chaine = [A1] ' adresse en A1 p = Len(chaine) Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1 p = p - 1 Loop Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p - 7), " - ", Chr(10)) [B1] = chaine End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro , à savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le code postal et la ville en minuscule. - Est-il possible de détecter par macro les cinq chiffres consécuti fs du code postal pour pouvoir mettre tout ce qui suit (= la ville) en majuscule. - D'autre part, est-il possible de détecter, lorsque devant le code p ostal il n'y a pas de retour chariot mais un "espace/tiret/espace", de rempla cer ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme par exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Merci à tous
Antoine
JB
Pour éliminer les éventuels double-espaces, remplacer:
chaine=[A1] par chaine = Application.Trim([A1])
JB
Superbe !
Cela fonctionne exactement comme je pouvais l'attendre. Quoique j'ai du mal à comprendre comment elle fonctionne pour la recher che des cinq chiffres consécutifs !
Un grand merci
Antoine "JB" a écrit dans le message de news:
Bojour,
Sub essai() chaine = [A1] ' adresse en A1 p = Len(chaine) Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1 p = p - 1 Loop Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p - 7), " - ", Chr(10)) [B1] = chaine End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro , à savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le code postal et la ville en minuscule. - Est-il possible de détecter par macro les cinq chiffres consécuti fs du code postal pour pouvoir mettre tout ce qui suit (= la ville) en majuscule. - D'autre part, est-il possible de détecter, lorsque devant le code p ostal il n'y a pas de retour chariot mais un "espace/tiret/espace", de rempla cer ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme par exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Merci à tous
Antoine
Pour éliminer les éventuels double-espaces, remplacer:
chaine=[A1] par
chaine = Application.Trim([A1])
JB
Superbe !
Cela fonctionne exactement comme je pouvais l'attendre.
Quoique j'ai du mal à comprendre comment elle fonctionne pour la recher che
des cinq chiffres consécutifs !
Un grand merci
Antoine
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1156701909.608757.53500@i42g2000cwa.googlegroups.com...
Bojour,
Sub essai()
chaine = [A1] ' adresse en A1
p = Len(chaine)
Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1
p = p - 1
Loop
Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules
chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p -
7), " - ", Chr(10))
[B1] = chaine
End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro , à
savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui
comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le
code postal et la ville en minuscule.
- Est-il possible de détecter par macro les cinq chiffres consécuti fs du
code postal pour pouvoir mettre tout ce qui suit (= la ville) en
majuscule.
- D'autre part, est-il possible de détecter, lorsque devant le code p ostal
il n'y a pas de retour chariot mais un "espace/tiret/espace", de rempla cer
ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme par
exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Pour éliminer les éventuels double-espaces, remplacer:
chaine=[A1] par chaine = Application.Trim([A1])
JB
Superbe !
Cela fonctionne exactement comme je pouvais l'attendre. Quoique j'ai du mal à comprendre comment elle fonctionne pour la recher che des cinq chiffres consécutifs !
Un grand merci
Antoine "JB" a écrit dans le message de news:
Bojour,
Sub essai() chaine = [A1] ' adresse en A1 p = Len(chaine) Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1 p = p - 1 Loop Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p - 7), " - ", Chr(10)) [B1] = chaine End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro , à savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le code postal et la ville en minuscule. - Est-il possible de détecter par macro les cinq chiffres consécuti fs du code postal pour pouvoir mettre tout ce qui suit (= la ville) en majuscule. - D'autre part, est-il possible de détecter, lorsque devant le code p ostal il n'y a pas de retour chariot mais un "espace/tiret/espace", de rempla cer ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme par exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Merci à tous
Antoine
Antoine
Merci pour les explications
Quand on sait, cela parfait telement plus simple !
Merci encore
Antoine
"JB" a écrit dans le message de news:
Pour éliminer les éventuels double-espaces, remplacer:
chaine=[A1] par chaine = Application.Trim([A1])
JB
Superbe !
Cela fonctionne exactement comme je pouvais l'attendre. Quoique j'ai du mal à comprendre comment elle fonctionne pour la recherche des cinq chiffres consécutifs !
Un grand merci
Antoine "JB" a écrit dans le message de news:
Bojour,
Sub essai() chaine = [A1] ' adresse en A1 p = Len(chaine) Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1 p = p - 1 Loop Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p - 7), " - ", Chr(10)) [B1] = chaine End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro, à savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le code postal et la ville en minuscule. - Est-il possible de détecter par macro les cinq chiffres consécutifs du code postal pour pouvoir mettre tout ce qui suit (= la ville) en majuscule. - D'autre part, est-il possible de détecter, lorsque devant le code postal il n'y a pas de retour chariot mais un "espace/tiret/espace", de remplacer ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme par exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Merci à tous
Antoine
Merci pour les explications
Quand on sait, cela parfait telement plus simple !
Merci encore
Antoine
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1156705297.401053.269470@74g2000cwt.googlegroups.com...
Pour éliminer les éventuels double-espaces, remplacer:
chaine=[A1] par
chaine = Application.Trim([A1])
JB
Superbe !
Cela fonctionne exactement comme je pouvais l'attendre.
Quoique j'ai du mal à comprendre comment elle fonctionne pour la recherche
des cinq chiffres consécutifs !
Un grand merci
Antoine
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1156701909.608757.53500@i42g2000cwa.googlegroups.com...
Bojour,
Sub essai()
chaine = [A1] ' adresse en A1
p = Len(chaine)
Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1
p = p - 1
Loop
Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules
chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p -
7), " - ", Chr(10))
[B1] = chaine
End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro, à
savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui
comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le
code postal et la ville en minuscule.
- Est-il possible de détecter par macro les cinq chiffres consécutifs du
code postal pour pouvoir mettre tout ce qui suit (= la ville) en
majuscule.
- D'autre part, est-il possible de détecter, lorsque devant le code
postal
il n'y a pas de retour chariot mais un "espace/tiret/espace", de
remplacer
ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme
par
exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"
Quand on sait, cela parfait telement plus simple !
Merci encore
Antoine
"JB" a écrit dans le message de news:
Pour éliminer les éventuels double-espaces, remplacer:
chaine=[A1] par chaine = Application.Trim([A1])
JB
Superbe !
Cela fonctionne exactement comme je pouvais l'attendre. Quoique j'ai du mal à comprendre comment elle fonctionne pour la recherche des cinq chiffres consécutifs !
Un grand merci
Antoine "JB" a écrit dans le message de news:
Bojour,
Sub essai() chaine = [A1] ' adresse en A1 p = Len(chaine) Do While Not IsNumeric(Mid(chaine, p, 1)) And p > 1 p = p - 1 Loop Mid(chaine, p + 1) = UCase(Mid(chaine, p + 1)) 'majuscules chaine = Left(chaine, p - 8) & Application.Substitute(Mid(chaine, p - 7), " - ", Chr(10)) [B1] = chaine End Sub
JB
Bonjour à tous
J'ai une autre petit problème que je ne sais pas résoudre par macro, à savoir :
Dans une feuille, j'ai une cellule unique qui contient une adresse qui comporte le N° et le nom de la rue, et, soit " - " soit un chr(10) et le code postal et la ville en minuscule. - Est-il possible de détecter par macro les cinq chiffres consécutifs du code postal pour pouvoir mettre tout ce qui suit (= la ville) en majuscule. - D'autre part, est-il possible de détecter, lorsque devant le code postal il n'y a pas de retour chariot mais un "espace/tiret/espace", de remplacer ce triplet de caractères par un chr(10).
N.B. il peut y avoir un tiret à d'autres endroits de la cellule comme par exemple : "25, rue lepic - Apt#55 - 75000 Paris sur Seine"