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

Effacer les espaces

  • Initiateur de la discussion Initiateur de la discussion Doom76
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Doom76

XLDnaute Nouveau
Bonjour à tous,

J'ai un joli tableau dans lequel figure sur plusieurs feuilles des noms et prénoms de personnes. Je calcule leurs occurences. Or, parfois, il y a un espace vide devant le prénom ou bien à la fin du nom. Du coup, la personne n'est pas reconnue.

Quel type de macro je pourrais faire afin qu'automatiquement les espaces avant le prénom et les espaces après le nom s'effacent?

Par exemple: ".Jean.Dupont." (l'espace est ici remplacé par un ".")
devrait être remplacé par: "Jean.Dupont"

La difficulté réside dans le fait qu'il faut maintenir l'espace entre "Jean" et "Dupont". En outre, cette correction devrait se faire sur toute les feuilles.

Merci d'avance!
 
Re : Effacer les espaces

Bonjour Doom76, Roger2327 🙂,
Par macro après sélection des cellules concernées :
Code:
Sub Suppression()
Dim Cellule As Range
For Each Cellule In Selection
Cellule = Trim(Cellule)
Next
End Sub
Bonne journée 😎
 
Re : Effacer les espaces

Merci à tous les deux!

@ ROGER2327,
Je vais étudier cette fonction que je ne connaissais pas...

@JNP,

c'est pas mal du tout mais il n'y aurait pas moyen de faire en sorte que la suppression des blancs ne se fasse que dans les cellules non vides? En effet je sélectionne la feuille entière et avec ta macro, je dois l'interrompre manuellement pour la débloquer.
Est-il possible de le faire pour tous les onglets en même temps?

Merci encore!
 
Re : Effacer les espaces

Bonjour Doom, Roger, JNP,

JNP n'est pas dans le coin semble-t-il.

Il faut en effet se limiter aux cellules contenant du texte :

Code:
Sub Suppression()
Dim Cellule As Range
On Error Resume Next 'au cas où aucune cellule ne contient du texte
For Each Cellule In Selection.[COLOR="Red"]SpecialCells(xlCellTypeConstants, 2)[/COLOR]
Cellule = Trim(Cellule)
Next
End Sub

Edit : pour toutes les cellules de tous les onglets :

Code:
Sub Suppression()
Dim w As Worksheet, Cellule As Range
On Error Resume Next
For Each w In Worksheets
For Each Cellule In w.Cells.SpecialCells(xlCellTypeConstants, 2)
Cellule = Trim(Cellule)
Next
Next
End Sub

A+
 
Dernière édition:
Re : Effacer les espaces

Re 🙂,
Merci Job75, j'étais au boulot... De plus, je n'ai jamais utilisé cette option, donc j'apprends 😱... Je ne pensais pas non plus que notre ami avait 2 millions de cellules à traiter 😀.
Bonne soirée 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…