IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Conception Discussion :

Suppression d'un espace en fin de chaîne de caractères


Sujet :

Conception

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Par défaut Suppression d'un espace en fin de chaîne de caractères
    Bonjour,

    Je me permets de solliciter votre aide pour résoudre une difficulté rencontrée sur Excel.

    J'exporte un tableau de données; les cellules reportées comportent un espace en fin de chaîne de caractères, ce qui m'empêche de pouvoir "retraiter" les données (afficher des sommes par exemple).

    Une formule existe-t-elle pour supprimer cet espace présent dans toutes les cellules? La manip consistant à supprimer l'espace dans chaque cellule est un peu fastidieuse...

    Merci par avance!

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il existe une fonction d'excel nommée SUPPRESPACE
    Extrait de l'aide en ligne
    Supprime tous les espaces de texte à l’exception des espaces simples entre les mots. Exécutez la fonction SUPPRESPACE sur le texte provenant d’autres applications et dont l’espacement peut être irrégulier
    Exemple
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Par défaut
    Merci mais cette fonction ne marche pas (déjà testée). Je précise qu'il s'agit de supprimer un espace en fin d'une chaîne de caractères dont le nombre de caractères diffère selon les cellules (plus de 800 cellules).
    C'est à s'arracher les cheveux !

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(DROITE(A1;1)=" ";GAUCHE(A1;NBCAR(A1)-1);A1)

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Merci mais cette fonction ne marche pas (déjà testée). Je précise qu'il s'agit de supprimer un espace en fin d'une chaîne de caractères dont le nombre de caractères diffère selon les cellules (plus de 800 cellules).
    Merci mais j'ai bien compris la question, je confirme que cette fonction renvoie bien la chaîne de caractères contenue dans la cellule référencée en supprimant les caractères espacés avant et après. Encore faut-il que les caractères espacés soit bien du code Ascii 32.

    Si la chaîne de caractères ne contient que des chifres, il suffit alors de multiplier cette chaîne par 1. On peut le faire directement avec la fonctionnalité Copier/Collage spécial-Multiplier
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre Expert
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 556
    Par défaut
    Bonjour

    S'il s'agit d'enlever le dernier caractère d'un texte (peu importe qu'il s'agisse d'un espace ou d'autre chose), une formule pourrait être par exemple celle-ci : =GAUCHE(A1;NBCAR(A1)-1)
    On prends tous les caractères à gauche de A1, sur une longueur qui est celle du nombre de caractère de A1 moins un caractère.

    Bonne journée

    Pierre Dumas

  7. #7
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Juste pour information.
    En VBA, voir les fonctions Trim, LTrim et RTrim.

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour

    Une formule ne saurait s'appliquer à la cellule qui lui est passée en référence.
    La solution par formule nécessite donc l'ajout d'une colonne, etc ...
    Autant alors utiliser directement VBA (autre section)

  9. #9
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    Merci mais j'ai bien compris la question, je confirme que cette fonction renvoie bien la chaîne de caractères contenue dans la cellule référencée en supprimant les caractères espacés avant et après. Encore faut-il que les caractères espacés soit bien du code Ascii 32.

    Si la chaîne de caractères ne contient que des chifres, il suffit alors de multiplier cette chaîne par 1. On peut le faire directement avec la fonctionnalité Copier/Collage spécial-Multiplier
    bonjour à tous,

    Je suis de l'avis de Philippe Tulliez Si cela se trouve nous sommes peut-être en présence d'un espace insécable ...
    espace insécable : code Ascii = 160
    espace normal : code Ascii = 32

    et on peux vérifier grâce à la formule =CODE()

    =Supprespace, Trim et cie ne fonctionne pas avec l'espace insécable

  10. #10
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Igloobel Voir le message
    et on peux vérifier grâce à la formule =CODE()
    Plus exactement =CODE(DROITE(A1;1))

  11. #11
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour remplacer à la fois les caractères espacés (Avant et après) + le caractère ascii 160
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SUPPRESPACE(SUBSTITUE(B2;CAR(160);CAR(32)))
    ou plus court
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SUPPRESPACE(SUBSTITUE(B2;CAR(160);""))
    Si le ou les caractères parasites ont une valeur ASCII inférieure à 32 alors on peut utiliser la fonction EPURAGE
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  12. #12
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    La fonction EPURAGE() aussi peut aussi être utile pour supprimer des espaces qui n'en sont pas vraiment.
    https://support.office.com/fr-FR/art...5-4b8ba987ba41

  13. #13
    Membre émérite
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 678
    Par défaut
    Bonjour Ben-leponge, le forum,

    Aucune des solutions proposées ne semble vous convenir.
    Pour faire la somme, sans enlever l'espace final, on peut contourner le problème.

    Multipliez les valeurs à additionner par un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME(A1*1;A2*1;A3*1;A4*1)

Discussions similaires

  1. [XL-2010] Accélérer le traitement de suppression de l'espace de fin
    Par Poussemousse dans le forum Excel
    Réponses: 11
    Dernier message: 13/02/2015, 14h20
  2. [XL-2010] Suppression d'un "espace" en fin de saisie
    Par Alambik69 dans le forum Excel
    Réponses: 3
    Dernier message: 10/04/2012, 08h28
  3. Compter les espaces de fin de chaîne.
    Par lah.123 dans le forum Cobol
    Réponses: 1
    Dernier message: 12/01/2010, 17h09
  4. Réponses: 5
    Dernier message: 25/02/2008, 14h34
  5. Réponses: 5
    Dernier message: 18/10/2006, 09h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo