Excel - suppr automatiquement espace dans cel

Fermé
jordan2109 Messages postés 3 Date d'inscription samedi 27 novembre 2010 Statut Membre Dernière intervention 27 novembre 2010 - 27 nov. 2010 à 09:23
ccm81 Messages postés 10855 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 avril 2024 - 27 nov. 2010 à 21:08
Bonjour,

Je cherche a suppr les 2 espaces à droite et a gauche des caractères dans toutes les cellules de mon tableau (apparue suite à la copie d'une BDD).

Exemple : " Toulouse " ==> "Toulouse"

Je pense qu'il faut passer par les macro ou le VBA, mais je vous avoue ne pas savoir m'en servir. Si quelqu'un peut m'indiquer un bout de code.

Merci beaucoup !

A voir également:

6 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 398
27 nov. 2010 à 09:30
Bonjour
peut être plus simple:
=SUPPRESPACE(Cell)
qui supprime tous les espaces, sauf ceux entre les mots
vous pouvez ça dans un champ à coté de votre tableau et le refaire ensuite avec un copier : Collage spécial valeur.
crdlmnt


0
ccm81 Messages postés 10855 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 avril 2024 2 404
Modifié par ccm81 le 27/11/2010 à 10:31
bonjour,
s'il y en a beaucoup il vaut mieux automatiser via une petite macro
à mettre dans un module.
Selectionner la plage a traiter puis Ctrl+e pour supprimer les espaces

Sub Macro1() 
' Touche de raccourci du clavier: Ctrl+e 
Dim c As Range 
For Each c In Selection 
  c.Value = Trim(c.Value) 
Next c 
End Sub


bonne suite
0
jordan2109 Messages postés 3 Date d'inscription samedi 27 novembre 2010 Statut Membre Dernière intervention 27 novembre 2010
27 nov. 2010 à 12:10
Merci pour vos réponse,
Il est vrai que la macro serait bien mieux dans mon cas (12 onglets, 50 lignes / onglets, et 5 colonnes concernées ^^)

Seulement j'essaie d'utiliser la macro décrire mais rien ne se passe :(

J'ai Office 2007, peut-être y a t'il une commande qui s'écrit différemment ?
0
ccm81 Messages postés 10855 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 avril 2024 2 404
Modifié par ccm81 le 27/11/2010 à 12:26
re
je ne crois pas qu'excel 2007 pose pb

1. mettre la macro dans un module Alt+F11 puis copier/coler
2. selectionner la plage a traiter dans la feuille
3. Ctrl+e pour lancer la macro

bonne suite
0
jordan2109 Messages postés 3 Date d'inscription samedi 27 novembre 2010 Statut Membre Dernière intervention 27 novembre 2010
27 nov. 2010 à 14:04
En effet, en fait le code fonctionne très bien, mais j'ai identifié le problème. Ce qui semblent être des espaces doivent en fait etre autre chose, donc Trim ne fonctionne pas.
Ce qu'il me faudrait du coup c'est :
- supprimer les 2 premiers caractères de la cellule
- supprimer les 2 derniers caractères de la cellule

Merci beaucoup !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 398
27 nov. 2010 à 14:44
Re

en fait, j'ai abordé un problème similaire il y a peu de temps, mais je ne retrouve pas la discussion.

J'y ai appris qu'il s'agissait je crois d'un caractère dit "insécable" dont le N° Excel est 160; on peut donc le traiter avec le code CAR(160) mais je ne sais pas le faire dans une macro.(à la rigueur dans la formule:
=SUBSTITUE(Cell;CAR(160);)
qui les supprime

Peut être cette info servira t'elle à quelqu'un d'autre pour vous aider avec une macro

En attendant , une manip possible:
_copier le caractère dans la barre de formule (et lui seulement)
_sélectionner la feuille complète
_Ouvrir la fenêtre Rechercher / remplacer
Remplacer:
_coller le caractère dans la fenêtre du haut
par: rien
et Remplacez tout.

Avec un peu de chance....

Crdlmnt


0
ccm81 Messages postés 10855 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 avril 2024 2 404
27 nov. 2010 à 21:08
re

deux macros (une seule doit etre lancée)

Sub Macro1()
' pour supprimer 2 caracteres devant et derrière
' Touche de raccourci du clavier: Ctrl+e
Dim c As Range
Dim cc As String
For Each c In Selection
  ' c.Value = Trim(c.Value)
  cc = c.Value
  cc = Right(cc, Len(cc) - 2)
  cc = Left(cc, Len(cc) - 2)
  c.Value = cc
Next c
End Sub

Sub Macro3()
' Touche de raccourci du clavier: Ctrl+f
' pour remplacer les car(160) par rien
Dim c As Range
For Each c In Selection
  c.Value = Replace(c.Value, Chr(160), "")
Next c
End Sub


bonne suite
0