formateur informatique

Supprimer les espaces en préfixe et suffixe

Accueil  >  Bureautique  >  Excel  >  Excel VBA  >  Supprimer les espaces en préfixe et suffixe
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner  Youtube    Vidos astuces Instagram
Sujets que vous pourriez aussi aimer :


Purger les espaces de début et de fin

Lorsque des données sont importées dans un classeur de façon automatisée, il n'est pas rare que des défauts et irrégularités existent.

Defauts alignements dans les cellules Excel à cause des espaces en trop à corriger

Sur l'exemple illustré par la capture, des noms de commerciaux sont inscrits en première colonne d'un tableau. Et comme vous le remarquez, des irrégularités d'alignement existent du fait de la présence d'espaces résiduels et variables en nombres en préfixes des textes. De même, en cliquant dans la barre de formule de l'une ou l'autre cellule, vous pouvez constater que ces espaces résiduels existent aussi en suffixes des textes.

Mais si l'utilisateur clique sur le bouton Purger, placé sur la droite du tableau, tout rentre dans l'ordre. Tous les espaces non désirés sont supprimés sans toucher aux espaces de séparation des mots. Et pour un tel travail, c'est un traitement automatisé qui est entrepris par le code VBA. Il consiste premièrement à parcourir toutes les cellules sélectionnées, grâce à une boucle For Each, comme nous l'avons démontré à l'occasion d'une précédente astuce.

Classeur Excel à télécharger
Pour la démonstration de la technique, nous suggérons d'appuyer l'étude sur un classeur abritant ces défauts à corriger. Nous découvrons bien le tableau avec ses défauts d'alignement en première colonne. Le bouton intitulé Purger est d'ores et déjà associé à une procédure VBA qu'il est question d'implémenter.
  • Réaliser le raccourci clavier ALT + F11 pour basculer dans l'éditeur VBA Excel,
Nous découvrons effectivement la procédure du même nom que le bouton.

Sub purger()

End Sub


La variable de cellule
Comme nous devons analyser chaque cellule sélectionnée à la recherche d'espaces résiduels, nous devons commencer par déclarer une variable capable de représenter ces cellules.
  • Dans les bornes de la procédure, ajouter la déclaration de variable suivante :
Sub purger()
Dim cellule As Range

End Sub


Comme nous l'avons déjà évoqué par le passé, une variable de type Range représente une plage de cellules et à défaut une cellule unique. C'est cette variable que nous allons utiliser pour parcourir toutes les cellules de la sélection.

Les cellules de la sélection
C'est une boucle For Each impliquant cette variable qui va nous permettre d'analyser tour à tour les cellules sélectionnées par l'utilisateur.
  • A la suite du code, créer la boucle For Each suivante :
...
For Each cellule In Selection

Next cellule
...


L'objet Selection est aussi un objet de type Range. Il désigne la plage de cellules sélectionnées sur la feuille. C'est ainsi que nous pouvons la parcourir en exploitant notre objet nommé cellule.

Supprimer les espaces dans les cellules
A chaque passage dans cette boucle, il ne nous reste plus qu'à appliquer la fonction Trim sur le contenu de la cellule en cours d'analyse.
  • Dans les bornes de la boucle, ajouter l'instruction VBA suivante :
...
cellule.Value = Trim(cellule.Value)
...


Trim est une fonction qui supprime tout simplement tous les espaces situés en préfixes et suffixes des chaînes de texte tout en préservant ceux séparant les mots.
  • Enregistrer les modifications (CTRL + S) et basculer sur la feuille Excel (ALT + Tab),
  • Sélectionner toutes les cellules de la première colonne du tableau, soit la plage B3:B18,
  • Puis, cliquer sur le bouton Purger,
En un clin d'oeil et comme vous pouvez l'apprécier, tous les défauts d'alignement sont corrigés et ce, pour toutes les cellules de la sélection. C'est le résultat opéré par le traitement de la fonction Trim sur chaque contenu analysé, afin d'éliminer les espaces résiduels placés avant et après les chaînes de caractères. Et pour cela, c'est un code VBA trivial qui est capable d'opérer sur de très grandes quantités d'informations de bases de données :

Sub purger()
Dim cellule As Range

For Each cellule In Selection
cellule.Value = Trim(cellule.Value)
Next cellule

End Sub


Supprimer les espaces en trop dans les cellules du tableau Excel par le code VBA

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn