Tri depuis la fin du contenu des cellules
julie06220
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai une liste de noms de domaines de sites internet dans excel. J'en ai 80 000. Je voudrai trier par extensions des noms de domaines. Exemples au début tous les.aa puis les .ab etc
Au final je ne dois garder que les .com; .fr; .eu; .gouv; .net; .mc; .ch; .lu ; .be; .asso
qui pourrait m'aider?
Merci
Julie
j'ai une liste de noms de domaines de sites internet dans excel. J'en ai 80 000. Je voudrai trier par extensions des noms de domaines. Exemples au début tous les.aa puis les .ab etc
Au final je ne dois garder que les .com; .fr; .eu; .gouv; .net; .mc; .ch; .lu ; .be; .asso
qui pourrait m'aider?
Merci
Julie
A voir également:
- Tri depuis la fin du contenu des cellules
- Fin des zfe - Guide
- Fusionner deux cellules excel en gardant le contenu - Guide
- Comment faire un tri personnalisé sur excel - Guide
- Word a trouvé du contenu illisible - Guide
- Verrouiller des cellules excel - Guide
9 réponses
Bonjour
Pouvez-vous envoyer un échantillon d'une vingtaine de lignes pour réaliser une formule qui extraira les extensions dans une nouvelle colonne
Pouvez-vous envoyer un échantillon d'une vingtaine de lignes pour réaliser une formule qui extraira les extensions dans une nouvelle colonne
Bonjour,
Voici un echantillon exemple de ce fichier :
nomdedomaine1.fr
nomdedomaine2.com
nomdedomaine3.fr
nomdedomaine4.ru
nomdedomaine5.fr
nomdedomaine6.com
nomdedomaine7.sk
nomdedomaine8.fr
nomdedomaine9.com
Notre but est d'épurer facilement une grosse liste de noms de domaines, en ne gardant que les domaines dont nous avons besoin.
Merci
Cdt
Julie
Voici un echantillon exemple de ce fichier :
nomdedomaine1.fr
nomdedomaine2.com
nomdedomaine3.fr
nomdedomaine4.ru
nomdedomaine5.fr
nomdedomaine6.com
nomdedomaine7.sk
nomdedomaine8.fr
nomdedomaine9.com
Notre but est d'épurer facilement une grosse liste de noms de domaines, en ne gardant que les domaines dont nous avons besoin.
Merci
Cdt
Julie
Bonsoir Julie,
Je vous ai déjà répondu avec mon message #3 ; lisez les informations,
mais pour le fichier Excel 2003, celui-ci est mieux car je l'ai optimisé :
Exercice pour julie06220 (optimisé)
Les noms de domaines dont vous n'avez pas besoin sont toujours présents
en fin de liste. Peut-être préférerez-vous tel que ? Mais si vraiment vous
préférez les supprimer définitivement, indiquez-le moi et je n'aurai qu'une
petite adaptation à rajouter.
Je vous rappelle que si besoin, vous pouvez me demander tout complément
d'information que vous jugerez utile.
Cordialement. 😊
Je vous ai déjà répondu avec mon message #3 ; lisez les informations,
mais pour le fichier Excel 2003, celui-ci est mieux car je l'ai optimisé :
Exercice pour julie06220 (optimisé)
Les noms de domaines dont vous n'avez pas besoin sont toujours présents
en fin de liste. Peut-être préférerez-vous tel que ? Mais si vraiment vous
préférez les supprimer définitivement, indiquez-le moi et je n'aurai qu'une
petite adaptation à rajouter.
Je vous rappelle que si besoin, vous pouvez me demander tout complément
d'information que vous jugerez utile.
Cordialement. 😊
Bonsoir Julie,
Votre exercice nécessite effectivement une colonne supplémentaire
pour les extensions. Voici le fichier Excel 2003 correspondant :
Exercice pour julie06220
Vous verrez que tous les noms de domaine qui ne font pas partie de
votre liste de domaines à conserver ont "z" comme extension dans
la colonne supplémentaire, afin que le tri les place en fin de liste :
les lignes correspondantes ne sont pas supprimées.
Donc tous les noms de domaines dont vous avez besoin
sont depuis le début de la liste, et triés selon l'extension.
Ouvrez le fichier, et faites < Ctrl >< t > pour lancer le tri.
Faites < Alt >< F11 > et affichez le Module1 pour voir la macro TNDE :
Tri des Noms de Domaine selon Extension.
Si votre liste de noms de domaine est en colonne B, et que le premier
nom de domaine est en ligne 2, vous pouvez laisser tel que ; sinon,
ce sera à adapter.
N'hésitez pas à me demander des renseignements si nécessaire.
Cordialement. 😊
Si le problème est réglé, merci d'utiliser le lien situé tout en haut de page,
juste sous le titre : « Marquer comme Résolu ».
Votre exercice nécessite effectivement une colonne supplémentaire
pour les extensions. Voici le fichier Excel 2003 correspondant :
Exercice pour julie06220
Vous verrez que tous les noms de domaine qui ne font pas partie de
votre liste de domaines à conserver ont "z" comme extension dans
la colonne supplémentaire, afin que le tri les place en fin de liste :
les lignes correspondantes ne sont pas supprimées.
Donc tous les noms de domaines dont vous avez besoin
sont depuis le début de la liste, et triés selon l'extension.
Ouvrez le fichier, et faites < Ctrl >< t > pour lancer le tri.
Faites < Alt >< F11 > et affichez le Module1 pour voir la macro TNDE :
Tri des Noms de Domaine selon Extension.
Si votre liste de noms de domaine est en colonne B, et que le premier
nom de domaine est en ligne 2, vous pouvez laisser tel que ; sinon,
ce sera à adapter.
N'hésitez pas à me demander des renseignements si nécessaire.
Cordialement. 😊
Si le problème est réglé, merci d'utiliser le lien situé tout en haut de page,
juste sous le titre : « Marquer comme Résolu ».
Bonjour Julie.
Sans faire appel à une macro, tu peux utiliser la colonne libre la plus proche de ta liste A:A et y mettre la formule =STXT(A:A;TROUVE(".";A:A);9)
Ensuite tu peux à ton gré effectuer un tri, un filtre, ou les deux. https://www.cjoint.com/c/FFcwQWZLDAs
Cordialement.
Sans faire appel à une macro, tu peux utiliser la colonne libre la plus proche de ta liste A:A et y mettre la formule =STXT(A:A;TROUVE(".";A:A);9)
Ensuite tu peux à ton gré effectuer un tri, un filtre, ou les deux. https://www.cjoint.com/c/FFcwQWZLDAs
Cordialement.
Bonjour Raymond,
Tu as raison... si on peut être sûr qu'il n'y a qu'un seul point ( . ) !
Car s'il y en a plusieurs (et dans une adresse internet, ça peut très bien arriver),
ta formule « butera » sur le premier point rencontré, et ne trouvera donc pas
le dernier ! C'est pourquoi ça oblige à chercher le premier point depuis la fin !
Exemple d'adresse internet : eco.conseil@wanadoo.fr
Ta formule trouvera le 1er point, entre « eco » et « conseil »,
et « sortira » ces 9 caractères : « .conseil@ » !
Ma macro trouve le premier point depuis la fin, entre « wanadoo » et « fr »,
et sortira donc le bon nom de domaine.
Si tu as une formule pour faire cela, je suis vraiment preneur !
Cordialement. 😊
Tu as raison... si on peut être sûr qu'il n'y a qu'un seul point ( . ) !
Car s'il y en a plusieurs (et dans une adresse internet, ça peut très bien arriver),
ta formule « butera » sur le premier point rencontré, et ne trouvera donc pas
le dernier ! C'est pourquoi ça oblige à chercher le premier point depuis la fin !
Exemple d'adresse internet : eco.conseil@wanadoo.fr
Ta formule trouvera le 1er point, entre « eco » et « conseil »,
et « sortira » ces 9 caractères : « .conseil@ » !
Ma macro trouve le premier point depuis la fin, entre « wanadoo » et « fr »,
et sortira donc le bon nom de domaine.
Si tu as une formule pour faire cela, je suis vraiment preneur !
Cordialement. 😊
Oui, j'y ai pensé ... Mais comme à mon habitude, je réponds strictement à la question posée, avec les exemples proposés, afin de ne pas alourdir la réponse, peut-être inutilement.
Il appartient au demandeur de réclamer un complément d'information ou de reformuler sa question.
D'autre part, je ne connais pas VBA, et je dois me débrouiller avec les fonctions, formules et manipulations classiques d'Excel.
En prenant l'hypothèse que les extensions ont au maximum 4 caractères après le dernier point (et en supposant qu'il y au moins 2 caractères entre l'avant-dernier et le dernier points) ma formule en C devient
=STXT(DROITE(B:B;5);TROUVE(".";DROITE(B:B;5));6)
Tu préfères ?
Il appartient au demandeur de réclamer un complément d'information ou de reformuler sa question.
D'autre part, je ne connais pas VBA, et je dois me débrouiller avec les fonctions, formules et manipulations classiques d'Excel.
En prenant l'hypothèse que les extensions ont au maximum 4 caractères après le dernier point (et en supposant qu'il y au moins 2 caractères entre l'avant-dernier et le dernier points) ma formule en C devient
=STXT(DROITE(B:B;5);TROUVE(".";DROITE(B:B;5));6)
Tu préfères ?
Bonsoir Raymond et Philou,
Je rappelle les 2 hypothèses de Raymond (dans son message #6) :
A) « En prenant l'hypothèse que les extensions ont au maximum
4 caractères après le dernier point »
B) « en supposant qu'il y a au moins 2 caractères entre l'avant-
dernier et le dernier points »
================================
J'ai testé la dernière formule de chacun de vous ; voici ce que j'ai constaté :
1) Vos formules ne marchent pas si l'extension a 5 caractères ou plus,
mais c'est bien conforme à l'hypothèse A) ; comme je ne pense pas
qu'en pratique, on puisse rencontrer ce cas, ça ne devrait donc pas
poser de problème.
2) Vos formules ne marchent pas s'il y a un seul caractère entre l'avant-
dernier point et le dernier point, mais c'est conforme à l'hypothèse B) ;
dans la pratique, je ne pense pas que le cas puisse se rencontrer,
mais cette fois, j'en suis moins sûr que pour le cas 1) ; donc si jamais
ça arrive : plantage ! Exemple : pour « nomdedomaine.org.e.fr »,
on a « e.fr » au lieu de « .fr ».
3) Ça ne marche pas s'il y a un seul caractère après le dernier point ;
cette fois, ce n'était pas dans les hypothèses de départ A) et B) ;
mais même sans en être tout à fait sûr, je crois qu'en pratique,
ça n'arrive jamais. Exemple : pour « nomdedomaine.org.eu.a »,
on a « eu.a » au lieu de « .a ».
4) Pour « nomdedomaine.org.eu.fr », c'est ok : ça sort bien « .fr »
5) S'il y a plus d'un point ( . ) : hormis les cas 1) à 3), vos formules marchent
très bien grâce à vos utilisations de DROITE(B:B;5)
6) S'il y a un seul point ( . ) : vos formules marchent très bien, dans tous
les cas, pour une extension de 1 à 4 caractère(s) ; et oui, même pour
un seul caractère : « nomdedomaine.a » retourne bien « .a »
7) Pour l'Audit de formules intégré à Excel, c'est gratuit ; pour mon propre
Audit de formules, c'est 100 € chacun. Je plaisante, inutile de sortir vos
porte-monnaies ! 😉
================================
Par acquis de conscience, j'ai vérifié ceci dans Excel 2003 et dans Excel 2007 :
1) Est-ce qu'un paramètre de la fonction TROUVE() permet de faire
une recherche depuis la fin ? Hélas : NON.
2) Est-ce qu'un paramètre de la fonction CHERCHE() permet de faire
une recherche depuis la fin ? NON plus.
3) Y a-t-il une fonction retournant une chaîne de caractères inversée ? NON.
Peut-être dans une des versions ultérieures à 2007 ?
----------------------------------------------------------
Remarques
a) TROUVE() est sensible à la casse (majuscules ou minuscules) alors que
CHERCHE() ne l'est pas ; mais comme on recherche un point ( . ), ça ne
fait aucune différence.
b) VBA a une fonction InStrRev() qui retourne la position d'une chaîne
de caractères dans une autre à partir de la fin ; et bien sûr, ça aide
beaucoup pour faire cet exercice !
================================
Conclusion
La méthode VBA marche avec certitude dans tous les cas de figure, y compris
les cas 1) à 3) notés au tout début, c'est pourquoi je continue à la préférer.
Mais pour quiconque veux absolument éviter le VBA et utiliser uniquement
des formules, celles que vous avez données ont tout l'air d'être les meilleures.
Une seule petite nuance : comme dans chaque formule DROITE(B:B;5) apparaît
2 fois, j'aurai utilisé une colonne supplémentaire pour le calcul de DROITE(B:B;5),
afin d'éviter un double calcul et donc une double recherche.
Cordialement. 😊
P.S. Je rappelle que la macro de Philou retourne les mêmes résultats que
ceux de Raymond, à ceci près qu'il n'y a pas de point devant l'extension ;
mais ça suffit pour pouvoir obtenir un tri correct.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Essayer ceci
=DROITE(DROITE(B:B;5);5-TROUVE(".";DROITE(B:B;5)))
Essayer ceci
=DROITE(DROITE(B:B;5);5-TROUVE(".";DROITE(B:B;5)))
Bonsoir PHILOU10120, je t'invite à lire mon message #8,
qui est pour Raymond PENTIER et toi. Cordialement. 😊
qui est pour Raymond PENTIER et toi. Cordialement. 😊
Bonjour à tous,
Pour avoir l'extension du domaine par formule :
formule matricielle à valider avec shift+ctrl+entrée
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Pour avoir l'extension du domaine par formule :
=STXT(A2;MAX((STXT(A2;LIGNE(1:99);1)=".")*LIGNE(1:99))+1;99)
formule matricielle à valider avec shift+ctrl+entrée
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Merci à tous vos réponses
Tout cela me semble bien compliqué!
J'ai du mal m'exprimer.
Je voudrai qu'excel tri ma colonne en inversant le SENS. Depuis le dernier caractère du la cellule.
dans les anciens excel, cette fonction se trouvait facilement dans la fonction tri. L'on avait de A à Z ou Z à A et sens gauche à droite ou droite à gauche. C'est exactement cela que je recherche.
Merci
Julie
Tout cela me semble bien compliqué!
J'ai du mal m'exprimer.
Je voudrai qu'excel tri ma colonne en inversant le SENS. Depuis le dernier caractère du la cellule.
dans les anciens excel, cette fonction se trouvait facilement dans la fonction tri. L'on avait de A à Z ou Z à A et sens gauche à droite ou droite à gauche. C'est exactement cela que je recherche.
Merci
Julie
Bonjour Julie,
J'ai l'impression que vous n'avez pas lu mon message #3 et mon message #10,
et je pense qu'ils peuvent être une solution à votre problème.
Pouvez-vous regarder le fichier Excel 2003 « Exercice pour julie06220 (optimisé) »
et me dire ce que vous en pensez ? Il suffit de charger ce fichier, et d'appuyer sur
< Ctrl >< t > pour lancer le tri. Merci d'avance.
Bien sûr, si je me suis trompé et que ça ne résout pas ce que vous voulez,
n'hésitez pas à me le dire. Idem si ça convient, mais qu'il faut rajouter des
petites adaptations.
En attente de vous lire prochainement.
Cordialement. 😊
J'ai l'impression que vous n'avez pas lu mon message #3 et mon message #10,
et je pense qu'ils peuvent être une solution à votre problème.
Pouvez-vous regarder le fichier Excel 2003 « Exercice pour julie06220 (optimisé) »
et me dire ce que vous en pensez ? Il suffit de charger ce fichier, et d'appuyer sur
< Ctrl >< t > pour lancer le tri. Merci d'avance.
Bien sûr, si je me suis trompé et que ça ne résout pas ce que vous voulez,
n'hésitez pas à me le dire. Idem si ça convient, mais qu'il faut rajouter des
petites adaptations.
En attente de vous lire prochainement.
Cordialement. 😊
Non, Julie ! Certainement pas !
Aucune version d'aucun tableur n'a jamais, jusqu'ici, permis de trier en partant du dernier caractère !
Quand tu écris "L'on avait de A à Z ou Z à A ..." tu confonds avec tri alphabétique croissant (de A à Z) ou décroissant (de Z à A) ; mais toujours par rapport aux premiers caractères !
Et oui, effectivement c'est compliqué, puisque tu veux une manipulation qui n'existe pas, qui n'a jamais été prévue, et dont pas grand-monde ne se sert ...
Aucune version d'aucun tableur n'a jamais, jusqu'ici, permis de trier en partant du dernier caractère !
Quand tu écris "L'on avait de A à Z ou Z à A ..." tu confonds avec tri alphabétique croissant (de A à Z) ou décroissant (de Z à A) ; mais toujours par rapport aux premiers caractères !
Et oui, effectivement c'est compliqué, puisque tu veux une manipulation qui n'existe pas, qui n'a jamais été prévue, et dont pas grand-monde ne se sert ...
bonjour,
pour l'instant, j'ai programmé en VBa une méthode rapide donnant la liste e des sites comportant que les suffixes de ta liste
Edit 11h55: supprimé point1 ; j'avais mal lu la demande initiale
2: il y a t il d'autres données dépendantes de l'URL dans d'autres colonnes ?
3/ D'autre part, compte tenu du nombre de lignes, ce serait sympa que tu nous mettes un extrait de ta liste avec 3000 ou 4000 lignes avec la colonne où elle est située. cela facilitera grandement le travail. Merci d'avance.
pour cela
Dans l’attente
Michel
pour l'instant, j'ai programmé en VBa une méthode rapide donnant la liste e des sites comportant que les suffixes de ta liste
Edit 11h55: supprimé point1 ; j'avais mal lu la demande initiale
2: il y a t il d'autres données dépendantes de l'URL dans d'autres colonnes ?
3/ D'autre part, compte tenu du nombre de lignes, ce serait sympa que tu nous mettes un extrait de ta liste avec 3000 ou 4000 lignes avec la colonne où elle est située. cela facilitera grandement le travail. Merci d'avance.
pour cela
Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci par un clic droit sur le lien proposé dans le message de réponse
Dans l’attente
Michel