Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Suppression caractères dans une cellule

12 réponses
Avatar
Alex
Bonjour =E0 tous,

Dans la colonne A de mon tableau, qui est une donn=E9es adresse =E9crite
de la facon suivante :

N=B0 Rue "-" CP Ville

Je souhaiterai faire une boucle pour suprrimer tous les caract=E8res se
trouvant apr=E8s le tiret pour obtenir :

N=B0 Rue

Est ce que quelqu'un aurait la solution =E0 mon probl=E8me.
Je vous remercie par avance de votre aide
Cordialement.
Alex

10 réponses

1 2
Avatar
DanielCo
Bonjur,

Sub test()
Dim c
For Each c In Range([A1], Cells(Cells.Rows.Count, 1).End(xlUp))
Var = InStr(1, c.Value, """") - 2
c.Value = Left(c.Value, Var)
Next c
End Sub

Cordialement.
Daniel


Bonjour à tous,

Dans la colonne A de mon tableau, qui est une données adresse écrite
de la facon suivante :

N° Rue "-" CP Ville

Je souhaiterai faire une boucle pour suprrimer tous les caractères se
trouvant après le tiret pour obtenir :

N° Rue

Est ce que quelqu'un aurait la solution à mon problème.
Je vous remercie par avance de votre aide
Cordialement.
Alex
Avatar
Alex
Bonjour,

Merci pour la réponse, mais j'ai un message d'erreur : Argument ou
appel de procédure incorrect.

Après reflexion, il serait peut etre plus simple de faire oter les 14
derniers caractères de ma cellule (Toutes mes adresses sont sur Paris
donc le "-" + les espaces + le code postal + paris = 14 caratères)
Je peux pas utiliser la fonciton Droite car le nombre de caractère
avant le tiret est indéfini. Ni gauche, car je ne concerverait que les
caractères que je souhaites oter.

Merci encore de votre aide.

Cordialement.
Alex
Avatar
Jacky
Bonjour,

Ceci peut-être...
A partir de A2
'---------------------
Sub jj()
On Error Resume Next
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Cells(i, 1) = Left(Cells(i, 1), Application.Find("-", Cells(i, 1)) - 1)
Next
End Sub
'---------------------

--
Salutations
JJ


"Alex" a écrit dans le message de news:

Bonjour à tous,

Dans la colonne A de mon tableau, qui est une données adresse écrite
de la facon suivante :

N° Rue "-" CP Ville

Je souhaiterai faire une boucle pour suprrimer tous les caractères se
trouvant après le tiret pour obtenir :

N° Rue

Est ce que quelqu'un aurait la solution à mon problème.
Je vous remercie par avance de votre aide
Cordialement.
Alex
Avatar
DanielCo
Oups, j'avais compris que le trait d'union était encadré de guillemets.
Esssaie donc :

Sub test()
Dim c
For Each c In Range([A1], Cells(Cells.Rows.Count, 1).End(xlUp))
Var = InStr(1, c.Value, "-") - 2
c.Value = Left(c.Value, Var)
Next c
End Sub

Daniel


Bonjour,

Merci pour la réponse, mais j'ai un message d'erreur : Argument ou
appel de procédure incorrect.

Après reflexion, il serait peut etre plus simple de faire oter les 14
derniers caractères de ma cellule (Toutes mes adresses sont sur Paris
donc le "-" + les espaces + le code postal + paris = 14 caratères)
Je peux pas utiliser la fonciton Droite car le nombre de caractère
avant le tiret est indéfini. Ni gauche, car je ne concerverait que les
caractères que je souhaites oter.

Merci encore de votre aide.

Cordialement.
Alex
Avatar
MichD
Bonjour,

Pourquoi une macro ?

Tu sélectionnes ta colonne où sont tes données
Barre des menus / données / Convertir-

Fenêtre 1 : Délimité
Fenêtre 2 : Tu coches la case à cocher "autre" et tu tapes dans la petite boîte un "tiret"
Fenêtre 3 : Tu sélectionnes la colonne 2 dans le tableau et tu sélectionnes "Colonne non distribuée"
dans le haut de la fenêtre pour le "format de données en colonne"
Dans cette même fenêtre, tu choisis la première cellule où tu veux afficher le résultat.
(tu peux choisir la première cellule où sont tes données actuellement)
Tu cliques sur le bouton "Terminer"

Voilà!



MichD
------------------------------------------
"Alex" a écrit dans le message de groupe de discussion :


Bonjour à tous,

Dans la colonne A de mon tableau, qui est une données adresse écrite
de la facon suivante :

N° Rue "-" CP Ville

Je souhaiterai faire une boucle pour suprrimer tous les caractères se
trouvant après le tiret pour obtenir :

N° Rue

Est ce que quelqu'un aurait la solution à mon problème.
Je vous remercie par avance de votre aide
Cordialement.
Alex
Avatar
Jacquouille
Bonjour
Même réflexion que Denis. pourquoi une macro?

En A1 : ---> 24 rue Machin - 4000 Liège

Autre part : =GAUCHE(A1;TROUVE("-";A1)-2) où il faut adapter le moins 2 en
fonction de la présence d'un espace ou non avant le tiret.

Le "trouve" donne la position du tiret dans la chaine de caractères de A1.
Ensuite, on extrait à partir de la gauche, le nb de caractères (-1 ou 2)
trouvé par cherche ou trouve.


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Alex" a écrit dans le message de groupe de discussion :


Bonjour à tous,

Dans la colonne A de mon tableau, qui est une données adresse écrite
de la facon suivante :

N° Rue "-" CP Ville

Je souhaiterai faire une boucle pour suprrimer tous les caractères se
trouvant après le tiret pour obtenir :

N° Rue

Est ce que quelqu'un aurait la solution à mon problème.
Je vous remercie par avance de votre aide
Cordialement.
Alex
Avatar
Jacky
Bonjour,
Même réflexion que Denis. pourquoi une macro?


Parce que ...........na!
Si le truc-machin ou la chose est répétitif..

Avec le temps, on devient flémard
Et avec une macro écrite...(enfin copié ici)....une fois pour toute,
il suffit d'appuyer sur un bouton.
;o))
I

--
Salutations
JJ


"Jacquouille" a écrit dans le message de news:
4e82f7e9$0$5055$
Bonjour
Même réflexion que Denis. pourquoi une macro?

En A1 : ---> 24 rue Machin - 4000 Liège

Autre part : =GAUCHE(A1;TROUVE("-";A1)-2) où il faut adapter le moins 2 en fonction de la présence d'un
espace ou non avant le tiret.

Le "trouve" donne la position du tiret dans la chaine de caractères de A1.
Ensuite, on extrait à partir de la gauche, le nb de caractères (-1 ou 2) trouvé par cherche ou trouve.


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Alex" a écrit dans le message de groupe de discussion :


Bonjour à tous,

Dans la colonne A de mon tableau, qui est une données adresse écrite
de la facon suivante :

N° Rue "-" CP Ville

Je souhaiterai faire une boucle pour suprrimer tous les caractères se
trouvant après le tiret pour obtenir :

N° Rue

Est ce que quelqu'un aurait la solution à mon problème.
Je vous remercie par avance de votre aide
Cordialement.
Alex
Avatar
Péhemme
Arhh !
J'ai appuyé sur le mauvais bouton et donc pas répondu "au groupe".
Je reprends :
En macro, c'est le TextToColumns d'une grande puissance, et bien plus rapide
que Split.
Moi qui était un fana de Split, Denis m'a, il y a quelques mois, sur ce
forum, convertit à TextToColumns.
Bonne journée à Tous.
Michel (xl2003)


"MichD" a écrit dans le message de
news:j5upgb$ggc$
Bonjour,

Pourquoi une macro ?

Tu sélectionnes ta colonne où sont tes données
Barre des menus / données / Convertir-

Fenêtre 1 : Délimité
Fenêtre 2 : Tu coches la case à cocher "autre" et tu tapes dans la
petite boîte un "tiret"
Fenêtre 3 : Tu sélectionnes la colonne 2 dans le tableau et tu
sélectionnes "Colonne non distribuée"
dans le haut de la fenêtre pour le "format de données
en colonne"
Dans cette même fenêtre, tu choisis la première
cellule où tu veux afficher le résultat.
(tu peux choisir la première cellule où sont tes
données actuellement)
Tu cliques sur le bouton "Terminer"

Voilà!



MichD
------------------------------------------
"Alex" a écrit dans le message de groupe de discussion :


Bonjour à tous,

Dans la colonne A de mon tableau, qui est une données adresse écrite
de la facon suivante :

N° Rue "-" CP Ville

Je souhaiterai faire une boucle pour suprrimer tous les caractères se
trouvant après le tiret pour obtenir :

N° Rue

Est ce que quelqu'un aurait la solution à mon problème.
Je vous remercie par avance de votre aide
Cordialement.
Alex

Avatar
Charles
Bonjour Alex,

Pas besoin de boucle pour cela.

exemple :

si dans A1, tu as 33 rue de gourdon - 47000 Bedol

En A2, tu lui demandes de chercher où est le tiret soit =trouve("-";A1;1)

Il te renverra un chiffre correspondant à l'emplacement du tiret.

Puis en A3, tu lui demandes de te renvoyer tout ce qui est à gauche du tiret
soit =gauche(A1;B1-2)

Tu obtiendras le résultat suivant : 33 rue de gourdon

Tu tires ensuite les 2 formules jusqu'en bas de ta liste

J'espère avoir répondu à ton problème

Charles



"Alex" a écrit dans le message de
news:
Bonjour à tous,

Dans la colonne A de mon tableau, qui est une données adresse écrite
de la facon suivante :

N° Rue "-" CP Ville

Je souhaiterai faire une boucle pour suprrimer tous les caractères se
trouvant après le tiret pour obtenir :

N° Rue

Est ce que quelqu'un aurait la solution à mon problème.
Je vous remercie par avance de votre aide
Cordialement.
Alex
Avatar
Alex
Bonsoir à tous,

Merci pour vos réponses.

Pour répondre à votre interrogation, Pourquoi une macro ? Hé bien
simplement parce qu'il s'agit d'une des étapes de l'établissement d'un
etat en autoatique, et que cette suppression d'information (- CP
Ville), n'est spécifique qu'àcet état, et que lorsqu'on consulte le
tableau source "habituellement" le souhait et de voir ce compléent
d'information. De plus, je ne voulais pas alourdir ma base de données
d'une colonne supplémentaire, car cette ajout n'aurait fait qu'ajouter
du travail supplémentaire en me faisant modifier les plages de
l'ensemble des différentes possibilités de visualiser ce tableau
(Masquage/Affichage de données et filtres pour obtenir des visions
différentes de mon très grand tableau).

J'ai retenu la 1ère solution de Jacky que j'ai pu adapter au contexte
de ma macro.

Un grand merci aussi pour les réponses sans vba car je ne connaissais
pas ;-)

Cordialement.
Alex
1 2