Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

insérer un espace dans une chaîne de caractère

10 réponses
Avatar
dd
bonjour,

j'ai des adresse qui se pr=E9sentent sous la forme "17rue=20
des pervenches" par exemple. Je veux ins=E9rer un espace=20
entre 17 et rue. Comment faire sans passer par une macro=20
SVP?
merci.
dd

10 réponses

Avatar
cinthia
Imaginons que dans la case a1, on a :
"17rue des pervenches".
Voilà ce que j'ai mis pour avoir ce que tu veux dans la
case a2 :
substitue(a1;"rue";" rue").
Cette fonction va remplacer rue par rue avec un espace
devant.
L'inconvénient, c'est que ça ne marche pas dans le cas
d'une allée, par exemple et aussi que tu es obligé d'avoir
2 colonnes.
C'est tout ce que je peux te proposer. Est-ce que ça
suffit ?

Bon courage,
cinthia

-----Message d'origine-----
bonjour,

j'ai des adresse qui se présentent sous la forme "17rue
des pervenches" par exemple. Je veux insérer un espace
entre 17 et rue. Comment faire sans passer par une macro
SVP?
merci.
dd
.



Avatar
dd
bonjour,

merci pour ta solution. disons que l'inconvénient c'est
que je ne peux pas recopier vers le bas la formule. or
j'ai toute une liste d'adresse comme ça, avec
effectivement rue, allée, voie... l'idéal serait
d'associer la fonction substitue avec stxt, mais je ne
sais pas comment faire. au départ je voulais utiliser
deux fonctions stxt associés, pour copier le début (17),
puis rue avec un espace, mais je sais pas comment faire.
ou alors associée une fonction de reconnaissance de
chiffres et de lettres...
merci quand même et si tu trouves autre chose, n'hésites
pas!
dd
Avatar
Bernard MAZAS
Salut dd

Pas très élégant, mais tu peux essayer ça en A2 et en recopiant vers le bas
:

=GAUCHE(A1;SOMMEPROD(1*ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)))
)&"
"&DROITE(A1;NBCAR(A1)-SOMMEPROD(1*ESTNUM(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR
(A1)));1))))

Bernard

"dd" a écrit dans le message news:
09d201c36ba9$d68c7480$
bonjour,

j'ai des adresse qui se présentent sous la forme "17rue
des pervenches" par exemple. Je veux insérer un espace
entre 17 et rue. Comment faire sans passer par une macro
SVP?
merci.
dd
Avatar
Daniel.M
Bonjour David,

Il y a la matricielle suivante (saisir avec Ctrl-Maj-Entrée):

=GAUCHE(A1;EQUIV(0;0+ESTNUM(0+STXT(A1;LIGNE(INDIRECT("1:"&
NBCAR(A1)));1));0)-1) &" " &DROITE(A1;NBCAR(A1)-EQUIV(0;0+ESTNUM(0+
STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1));0)+1)

Mais tu ne nous as donné qu'UN cas.
Y a-t-il des:
163Arue LaSalle ' une lettre après le numéro
15 rue Anctil ' forme déjà correcte

Salutations,

Daniel M.

"dd" wrote in message
news:09d201c36ba9$d68c7480$
bonjour,

j'ai des adresse qui se présentent sous la forme "17rue
des pervenches" par exemple. Je veux insérer un espace
entre 17 et rue. Comment faire sans passer par une macro
SVP?
merci.
dd
Avatar
Bernard MAZAS
Salut Modeste

"Modeste" a écrit dans le message news:
0ceb01c36bd2$bca28ea0$

bonjour Bernard
cela faisait longtemps,
descendu de ta montagne ????


J'aggrave mon cas : j'habite à Gap maintenant (d'ailleurs, dans le
département, impossible de trouver un plan de Gap :-))), mais ça m'empêche
pas d'aller voir de temps en temps s'il n'y a pas de la lumière allumée par
ici :-))

imaginons une histoire de macro, rue du quai à l'hotel
du "Congre debout"
cela eut été plus élégant.... NON ???


D'autant que les canicules ne m'ont pas emballé !

Bernard

Avatar
Modeste
;-)))
bonjour Bernard
cela faisait longtemps,
descendu de ta montagne ????
imaginons une histoire de macro, rue du quai à l'hotel
du "Congre debout"
cela eut été plus élégant.... NON ???

;-)))

-----Message d'origine-----
Salut dd

Pas très élégant, mais tu peux essayer ça en A2 et en
recopiant vers le bas

:

=GAUCHE(A1;SOMMEPROD(1*ESTNUM(1*STXT(A1;LIGNE(INDIRECT
("1:"&NBCAR(A1)));1)))

)&"
"&DROITE(A1;NBCAR(A1)-SOMMEPROD(1*ESTNUM(1*STXT(A1;LIGNE
(INDIRECT("1:"&NBCAR

(A1)));1))))

Bernard

"dd" a écrit dans le message
news:

09d201c36ba9$d68c7480$
bonjour,

j'ai des adresse qui se présentent sous la forme "17rue
des pervenches" par exemple. Je veux insérer un espace
entre 17 et rue. Comment faire sans passer par une macro
SVP?
merci.
dd


.



Avatar
Daniel.M
Salut David,

vois-tu une solution?


As-tu essayé la mienne? :-)
Elle fonctionne pour les cas que tu donnes (0, 1, 2, 3 chiffres avant les
lettres).

Si elle ne fonctionne pas, donne les cas fautifs (sinon on n'avance pas).
Je connais certainement une méthode plus lourde qui fonctionne à tout coup
mais encore faut-il bien connaître l

Salutations,

Daniel M.

P.S.: Tu n'as pas répondu pour les 2 cas de figures que je te donnais.
Peuvent-ils exister?

163Arue LaSalle ' une lettre après le numéro, cela existe chez nous
15 rue Anctil ' forme déjà correcte


"dd" wrote in message
news:0e0001c36bde$c16d66b0$
bonjour daniel,

merci pour ta réponse. il y a effectivement plein de
lignes avec ce genre d'adresse. parfois les numéros ont
1,2, ou 3 caractères (parfois même 0), et on trouve des
rues, allées, boulevard...donc beaucoup de cas de figures
différents. l'idéal serait d'avoir une formule qui
reconnaisse les chiffres, puis les caractères textes, et
qu'entre les deux ils recopient dans une colonne
adjacente les 2 groupes séparés d'un espace!

vois-tu une solution?

merci
david.

Avatar
Ricky
Bonjour Daniel.M et tous les lecteurs
| As-tu essayé la mienne? :-)

#N/A
Doit manquer un petit je ne sais quoi.
--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faq.ms.word.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
Avatar
Daniel.M
Salut Ricky,

| As-tu essayé la mienne? :-)

#N/A
Doit manquer un petit je ne sais quoi.


Manque une petite validation en matricielle, peut-être? ;-)

Donc, au lieu d'appuyer sur Entrée, tu appuies sur Ctrl-Maj-Entrée.

Salutations,

Daniel M.

Avatar
dd
salut daniel,

merci, ça marche effectivement mieux en matricielle :-)
je n'ai pas de données du type 125Arue des... pour
l'instant en tout cas.


merci beaucoup pour cette formule assez complexe que je
n'ai complètement décodé encore!

david.