Supprimer des éléments dans une colonne, infos mélangé
tiketeur
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
Frenchie83 Messages postés 2254 Statut Membre -
Frenchie83 Messages postés 2254 Statut Membre -
Bonjour,
J'aimerais supprimer des éléments sur une colonne en particulier contenant 10 000 lignes, sur cette colonne est référencé des noms de villes mais avec un numéro code dans la même cellule, par exemple :
A1 : ABC01 - Paris
A2 : DEF02 - Marseille
Sauf que parfois, ce fameux code n'est pas avant le nom de ville mais après :
A1000 : Nantes - ZZS001
A3000 : Toulon - 001AAZ
ces codes n'ont pas une structure définit non plus, parfois il y a des lettres avec des chiffres, parfois que des chiffres.
C'est pourquoi je sollicite votre aide car je ne sais pas trop comment traiter, je souhaite garder uniquement le nom de ville et virer les autres éléments.
Merci pour votre aide.
J'aimerais supprimer des éléments sur une colonne en particulier contenant 10 000 lignes, sur cette colonne est référencé des noms de villes mais avec un numéro code dans la même cellule, par exemple :
A1 : ABC01 - Paris
A2 : DEF02 - Marseille
Sauf que parfois, ce fameux code n'est pas avant le nom de ville mais après :
A1000 : Nantes - ZZS001
A3000 : Toulon - 001AAZ
ces codes n'ont pas une structure définit non plus, parfois il y a des lettres avec des chiffres, parfois que des chiffres.
C'est pourquoi je sollicite votre aide car je ne sais pas trop comment traiter, je souhaite garder uniquement le nom de ville et virer les autres éléments.
Merci pour votre aide.
Configuration: Windows / Firefox 62.0
7 réponses
-
Bonjour,
Si tous les noms des villes sont sous la forme Nom Propre (Première lettre en majuscule et le reste en minuscules, et les lettres des codes en majuscules)
Essayez ceci en B1 et à tirer vers le bas
=SUBSTITUE(A1;SI(OU(CODE(STXT(A1;TROUVE(" - ";A1;1)-2;1))<97;CODE(STXT(A1;TROUVE(" - ";A1;1)-2;1))>122);GAUCHE(A1;TROUVE(" - ";A1;1)+2);STXT(A1;TROUVE(" - ";A1;1);10));"")
Cdlt -
Bonjour
Avec une fonction personnalisée à mettre dans un module de l'éditeur VBAFunction decoupage(plage As Range) r = Application.WorksheetFunction.Find("-", plage.Value) If IsNumeric(Mid(plage.Value, r - 2, 1)) Then a = Right(plage.Value, Len(plage.Value) - r - 1) Else a = Left(plage.Value, r - 2) decoupage = a End Function
S’utilise comme toute fonction selon la syntaxe =decoupage(cellule à traiter)
Cdlmnt
Via
-
Bonjour à tous les deux
Peut être avec une petite macro
https://www.cjoint.com/c/IBwoKvcqNWB
Cdlmnt -
RE,
Toujours avec une formule en B1 à valider avec CTRL + SHIFT + ENTREE (A condition qu'il y ait au moins un chiffre dans le code)
=SI(ESTNUM(STXT(GAUCHE(A1;TROUVE(" - ";A1;1));EQUIV(0;(ESTERREUR(STXT(GAUCHE(A1;TROUVE(" - ";A1;1));LIGNE(INDIRECT("1:"&NBCAR(GAUCHE(A1;TROUVE(" - ";A1;1)))));1)*1)*1);0);NBCAR(GAUCHE(A1;TROUVE(" - ";A1;1)))-SOMME((ESTERREUR(STXT(GAUCHE(A1;TROUVE(" - ";A1;1));LIGNE(INDIRECT("1:" & NBCAR(GAUCHE(A1;TROUVE(" - ";A1;1)))));1)*1)*1)))*1);STXT(A1;TROUVE(" - ";A1;1)+3;10);GAUCHE(A1;TROUVE(" - ";A1;1)))
Cdlt -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Voici le fichier
https://mon-partage.fr/f/QFd44DgK/ -
Tu ne dis rien sur ma fonction personnalisée qui fonctionne très bien
L'as tu seulement essayée ?
-
Bonjour,
Correctif à la formule (dans la précédente formule je pensais qu'il y avait un espace avant et après chaque tiret)
Nouvelle formule en B1 à valider aver CTRL + SHIFT + ENTREE et à tirer vers le bas:
=SI(ESTNUM(STXT(GAUCHE(A1;TROUVE("-";A1;1)-1);EQUIV(0;(ESTERREUR(STXT(GAUCHE(A1;TROUVE("-";A1;1)-1);LIGNE(INDIRECT("1:"&NBCAR(GAUCHE(A1;TROUVE("-";A1;1)-1))));1)*1)*1);0);NBCAR(GAUCHE(A1;TROUVE("-";A1;1)-1))-SOMME((ESTERREUR(STXT(GAUCHE(A1;TROUVE("-";A1;1)-1);LIGNE(INDIRECT("1:" & NBCAR(GAUCHE(A1;TROUVE("-";A1;1)-1))));1)*1)*1)))*1);STXT(A1;TROUVE("-";A1;1)+1;30);GAUCHE(A1;TROUVE("-";A1;1)-1))
De plus, il faut activer le calcul itératif dans le paramétrage des options EXCEL,
-Cliquer sur le bouton OFFICE en haut à gauche
-Sélectionner Formules
-Dans le premier paragraphe "Mode de calcul", cocher Activer le calcul itéraif" et fixer le nombre maximal d'itérations à 1
Avec le fichier:
https://mon-partage.fr/f/XfbkVJH6/
Cdlt