Suppression caractères dans une cellule

Le
Alex
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #23800061
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
Alex
Le #23800131
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
Jacky
Le #23800121
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"
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
DanielCo
Le #23800111
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
MichD
Le #23800191
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
Jacquouille
Le #23800371
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
Jacky
Le #23800511
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" 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
Péhemme
Le #23800921
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" 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

Charles
Le #23801541
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" 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
Alex
Le #23801661
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
Publicité
Poster une réponse
Anonyme