Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Comment remplacer des espaces en trop par un retour à la ligne ? (avec une formule)

Automatik

XLDnaute Nouveau
Bonjour tout le monde,

Je fais de nouveau appel à vous car j'ai un problème.

J'ai des cellules dans lesquelles il y a de nombreux espaces entre des mots.
Cela a été fait parce que la personne ne savait pas faire de retour à la ligne.
Sauf que moi quand je récupère ces cellules évidemment ça me remet tous les espaces, et comme mes cellules ne font pas la même taille je suis obligé de les supprimer moi-même et de remplacer par un retour à la ligne ?

J'ai essayé avec: SUPPRESPACE et CAR(10) mais je n'arrive pas à les mettre en lien...

Quelqu'un connaîtrait-il la solution ?

Alban
 

Pièces jointes

  • Exemple.xlsx
    11.1 KB · Affichages: 11
Dernière édition:
Solution
Bonjour le fil, le forum

une proposition en formule, à partir de 3 espaces successifs, pour intégrer les erreurs possibles de saisie à 2 espaces. Les espaces d'erreur de saisie sont traités par le SUPPRESPACE.
Traite de 3 jusqu'à 362 espaces consécutifs pour un retour à la ligne.
VB:
=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUPPRESPACE(SUBSTITUE(A4;"   ";"|"));"|||||";"|");"||||";"|");"|||";"|");"||";"|");"| ";"|");"|";CAR(10))

Cordialement, @+

[édition : petite amélioration de la formule]

Automatik

XLDnaute Nouveau
Bonjour @vgendron, oui je vais empêcher la saisie de plusieurs espaces, c'est plus simple mais bon pour les erreurs déjà faites je vais devoir m'en occuper quand même c'est pour ça que je cherchais une solution quand même..
 

Automatik

XLDnaute Nouveau
Bonjour @Lolote83,
Merci de ta réponse mais dans mon cas ce n'est vraiment pas des espaces rajoutés par erreurs.. Ils ont été rajoutés pour faire un retour à la ligne avec le bouton "Revenir à la ligne automatiquement"..
 

Automatik

XLDnaute Nouveau
Bonjour @Staple1600,
En gros c'est ça !
Je lui ai expliqué plusieurs fois mais ça ne rentre pas apparemment alors j'essaye de faire avec , la solution pour moi la plus simple pour pas que la prochaine fois ça arrive de nouveau, c'est d'afficher un message du genre "Attention la cellule XX contient une erreur, veuillez saisir de nouveau votre texte et veillez à ne pas mettre plusieurs espaces d'affilée. Pour rappel: Le retour à la ligne s'effectue comme cela: ALT+ENTRÉE"

C'est ce qui me paraît le plus simple.
 

fanch55

XLDnaute Barbatruc
Le plus simple en ce cas ce serait peut-être de scinder la cellule initiale en 3 cellules ...
 

vgendron

XLDnaute Barbatruc
J'imagine que le fichier exemple que tu as posté n'est qu'une toute petite partie du fichier rempli par tes collègues et sur lequel tu travailles...
peut etre que si tu postes le fichier "complet" sans donnée confidentielle, on pourrait te proposer une solution plus adéquate. avec pourquoi pas des formulaires de saisie (avec ca, on peut controler et aider l'utilisateur dans la saisie des infos)
 

Automatik

XLDnaute Nouveau
@vgendron, En fait moi, je prends l'information "nom du projet+ adresse" (et d'autres infos..) qui se trouve dans un fichier différent pour chaque projet. Donc j'ai fait un autre fichier avec des formules qui récupèrent toutes ces infos dans chaque fichier présent sur un dossier précis (en gros c'est comme si ça faisait les copier-coller à ma place).
Et dans mon fichier j'aimerais rajouter la formule qui permet d'enlever les espaces et les remplacer par un saut de ligne. Actuellement je le fais à la main.

Ps: les macros ne marchent pas car je travaille sur un SharePoint donc j'évite les macros sinon je dois l'enregistrer sur mon bureau pour pouvoir faire les macros puis le remettre et changer le format et tout et tout donc ce n'est pas très pratique.

Dis-moi si ce n'est pas clair
 

vgendron

XLDnaute Barbatruc
à bien y réfléchir.. on est bien d'accord que l'exemple que tu as donné n'est pas vraiment représentatif des données que tu traites réellement...

ton collègue ne tape pas "Nom du projet Adresse du projet CP"
mais plutot:
projetX 15 rue de machin truc 65000

dans ce cas.. si le CodePostal est TOUJOURS un CP de France==> on peut facilement extraire les 5 chiffres qui le composent
ensuite.. si l'adresse commence toujous par un numéro de rue.. idem
et donc, on peut en déduire le reste...
 

fanch55

XLDnaute Barbatruc
Je vais faire appel à la loi de Murphy :
12 rue du 6 juin 1944
Je présume que le code postal n'est pas seul, un code pouvant désigner plusieurs communes
 

Automatik

XLDnaute Nouveau
C'est vraiment juste remplacer une quantité indéfinie d'espaces en Retour à la ligne que je voudrais ..
Dans cette cellule, il peut y avoir d'autres informations par exemple: numéro de téléphone, adresse mail...
Merci de tous tes efforts en tout cas

Sinon de mon côté j'ai essayé de remplacer les espaces en trop par un caractère tel que "#" et ensuite le reremplacer les "#' par CAR(10) mais rien n'y fait si je veux une formule qui marche le problème de base est que je ne peux pas connaître à l'avance le nombre d'espaces en trop ... le seul moyen encore possible, c'est de faire une formule gigantesque mais bon...
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

C'est marrant, j'étais aussi parti sur l'idée de remplacer deux espaces consécutifs par un dièse... mais on se rend vite compte qu'on tourne en rond et que seule une macro résout le problème facilement.

Le problème vient du fait que tu as plusieurs groupes d'espaces à remplacer, chaque groupe ayant une quantité différente d'espaces...
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…