OVH Cloud OVH Cloud

Trier sur fin des contenus

10 réponses
Avatar
julie06
Bonjour,

J'ai une liste de milliers d'url de sites, avec beaucoup de nom de domaines differents. Je voudrai trier ma liste par ordre alphabétique, mais à partir de la fin des noms de domaines. De manière a me retrouver avec tous les .fr; .org etc isolés les uns des autres.
Merci
Julie

10 réponses

Avatar
DanielCo
Bonjour,
pour une url en A1 (formule matricielle, valider avec Ctrl+Maj+Entrée)
:
=DROITE(A1;NBCAR(A1)-MAX(SI(STXT(A1;LIGNE(INDIRECT("A1:A"&NBCAR(A1)));1)=".";LIGNE(INDIRECT("A1:A"&NBCAR(A1))))))
Cordialement.
Daniel

Bonjour,

J'ai une liste de milliers d'url de sites, avec beaucoup de nom de
domaines differents. Je voudrai trier ma liste par ordre
alphabétique, mais à partir de la fin des noms de domaines. De
manière a me retrouver avec tous les .fr; .org etc isolés les uns des
autres. Merci
Julie
Avatar
DanielCo
PS. Pour des milliers de ligne, une macro serait sans doute plus
adaptée. Si tu es partant, dis-le.
Daniel

Bonjour,

J'ai une liste de milliers d'url de sites, avec beaucoup de nom de
domaines differents. Je voudrai trier ma liste par ordre
alphabétique, mais à partir de la fin des noms de domaines. De
manière a me retrouver avec tous les .fr; .org etc isolés les uns des
autres. Merci
Julie
Avatar
Jacquouille
Bonjour Julie
Solution de chez Brico:
En colA, tes données.
Dans une colonne voisine, en première cel, à tirer vers le bas:
=DROITE(A1;NBCAR(A1)-CHERCHE(".";A1))
Puis tu tries sur cette colonne

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


Bonjour,

J'ai une liste de milliers d'url de sites, avec beaucoup de nom de domaines
differents. Je voudrai trier ma liste par ordre alphabétique, mais à partir
de
la fin des noms de domaines. De manière a me retrouver avec tous les .fr;
.org
etc isolés les uns des autres.
Merci
Julie


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
DanielCo
Bonjour Jacquouille,
Mais il est possible que tu aies plusieurs points dans l'adresse.
Cordialement.
Daniel

Bonjour Julie
Solution de chez Brico:
En colA, tes données.
Dans une colonne voisine, en première cel, à tirer vers le bas:
=DROITE(A1;NBCAR(A1)-CHERCHE(".";A1))
Puis tu tries sur cette colonne

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


Bonjour,

J'ai une liste de milliers d'url de sites, avec beaucoup de nom de
domaines
differents. Je voudrai trier ma liste par ordre alphabétique, mais à
partir de
la fin des noms de domaines. De manière a me retrouver avec tous les
.fr; .org
etc isolés les uns des autres.
Merci
Julie


---
L'absence de virus dans ce courrier électronique a été vérifiée par
le logiciel antivirus Avast.
http://www.avast.com
Avatar
MichD
Le 26/05/16 à 10:28, julie06 a écrit :
Bonjour,

J'ai une liste de milliers d'url de sites, avec beaucoup de nom de domaines
differents. Je voudrai trier ma liste par ordre alphabétique, mais à partir de
la fin des noms de domaines. De manière a me retrouver avec tous les .fr; .org
etc isolés les uns des autres.
Merci
Julie





Bonjour,

La procédure suivante devrait faire le travail.

Fais un clic droit sur l'onglet de la feuille où sont les données
et copie la procédure suivante dans la page blanche.

2 choses à adapter dans la macro :
A ) Nom de la feuille
B ) l'adresse de la colonne où sont les données.

ATTENTION : La procédure utilise temporairement la colonne
à droite de la colonne des données.

Si cette colonne contient déjà des données, insère une colonne
avant de lancer la macro, tu pourras la supprimer à la fin.

'---------------------------------------------------
Sub Test1()
Dim Rg As Range, C As Range, a As Long
Dim Adr As String, T() As Variant

Application.ScreenUpdating = False
Application.EnableEvents = False

'adapte le nom de la feuille où sont tes données
With Worksheets("Feuil1")
'Adapte la lettre représentant la colonne des adresses internet.
'Dans l'exmple, la ligne 1 représente l'étiquette de colonne
Set Rg = .Range("A2:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
End With

For Each C In Rg
C.Offset(, 1) = Mid(C.Value, VBA.InStrRev(C.Value, "."), 100)
Next

With Rg.Resize(, 2)
'si la colonne n'a pas d'étiquette de colonne, Header:=xlNo
.Sort Key1:=.Item(1, 2), Order1:=xlAscending, Header:=xlYes
End With
Rg.Offset(, 1).Clear

Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub
'---------------------------------------------------

MichD
Avatar
Jacquouille
Salut Daniel
Alors, on bricole la formule et on compte les points à partir de NBCAR(a1)-5
.....mais je vois que Denis a frotté sa boule de cristal pour nous sortir un
filet de macro.



Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"DanielCo" a écrit dans le message de groupe de discussion :
5747315b$0$28137$

Bonjour Jacquouille,
Mais il est possible que tu aies plusieurs points dans l'adresse.
Cordialement.
Daniel

Bonjour Julie
Solution de chez Brico:
En colA, tes données.
Dans une colonne voisine, en première cel, à tirer vers le bas:
=DROITE(A1;NBCAR(A1)-CHERCHE(".";A1))
Puis tu tries sur cette colonne

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


Bonjour,

J'ai une liste de milliers d'url de sites, avec beaucoup de nom de
domaines
differents. Je voudrai trier ma liste par ordre alphabétique, mais à
partir de
la fin des noms de domaines. De manière a me retrouver avec tous les .fr;
.org
etc isolés les uns des autres.
Merci
Julie


---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com




---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
Jacquouille
Hello
Pour le fun :
=DROITE(A1;NBCAR(A1)-CHERCHE(".";A1;NBCAR(A1)-5))
.... mais, il y a de la macro dans l'air....
Bonne soirée

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"DanielCo" a écrit dans le message de groupe de discussion :
5747315b$0$28137$

Bonjour Jacquouille,
Mais il est possible que tu aies plusieurs points dans l'adresse.
Cordialement.
Daniel

Bonjour Julie
Solution de chez Brico:
En colA, tes données.
Dans une colonne voisine, en première cel, à tirer vers le bas:
=DROITE(A1;NBCAR(A1)-CHERCHE(".";A1))
Puis tu tries sur cette colonne

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


Bonjour,

J'ai une liste de milliers d'url de sites, avec beaucoup de nom de
domaines
differents. Je voudrai trier ma liste par ordre alphabétique, mais à
partir de
la fin des noms de domaines. De manière a me retrouver avec tous les .fr;
.org
etc isolés les uns des autres.
Merci
Julie


---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com




---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
DanielCo
Bonjour Jacquouille,
Toutes mes excuses, ta formule fonctionne du feu de dieu !
Cordialement.
Daniel

Hello
Pour le fun :
=DROITE(A1;NBCAR(A1)-CHERCHE(".";A1;NBCAR(A1)-5))
.... mais, il y a de la macro dans l'air....
Bonne soirée

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"DanielCo" a écrit dans le message de groupe de discussion :
5747315b$0$28137$

Bonjour Jacquouille,
Mais il est possible que tu aies plusieurs points dans l'adresse.
Cordialement.
Daniel

Bonjour Julie
Solution de chez Brico:
En colA, tes données.
Dans une colonne voisine, en première cel, à tirer vers le bas:
=DROITE(A1;NBCAR(A1)-CHERCHE(".";A1))
Puis tu tries sur cette colonne

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


Bonjour,

J'ai une liste de milliers d'url de sites, avec beaucoup de nom de
domaines
differents. Je voudrai trier ma liste par ordre alphabétique, mais
à partir de
la fin des noms de domaines. De manière a me retrouver avec tous
les .fr; .org
etc isolés les uns des autres.
Merci
Julie


---
L'absence de virus dans ce courrier électronique a été vérifiée par
le logiciel antivirus Avast.
http://www.avast.com




---
L'absence de virus dans ce courrier électronique a été vérifiée par
le logiciel antivirus Avast.
http://www.avast.com
Avatar
Jacquouille
Hello Daniel

Fréquentant ces nobles lieux, la réponse ne pouvait qu'en être digne
....grâce à vous, mes Maîtres à penser qui m'avez beaucoup appris .... et
moi, beaucoup oublié.
Pour être pointilleux, il conviendrait de s'assurer que la dernière
extension ne comporte pas plus de x caractères. Si le max est de 3, on peut
mettre 4 par sécurité au lieu de 5 en caractère final.
Bonne journée à vous tous.

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"DanielCo" a écrit dans le message de groupe de discussion :
5747ff53$0$9694$

Bonjour Jacquouille,
Toutes mes excuses, ta formule fonctionne du feu de dieu !
Cordialement.
Daniel

Hello
Pour le fun :
=DROITE(A1;NBCAR(A1)-CHERCHE(".";A1;NBCAR(A1)-5))
.... mais, il y a de la macro dans l'air....
Bonne soirée

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"DanielCo" a écrit dans le message de groupe de discussion :
5747315b$0$28137$

Bonjour Jacquouille,
Mais il est possible que tu aies plusieurs points dans l'adresse.
Cordialement.
Daniel

Bonjour Julie
Solution de chez Brico:
En colA, tes données.
Dans une colonne voisine, en première cel, à tirer vers le bas:
=DROITE(A1;NBCAR(A1)-CHERCHE(".";A1))
Puis tu tries sur cette colonne

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


Bonjour,

J'ai une liste de milliers d'url de sites, avec beaucoup de nom de
domaines
differents. Je voudrai trier ma liste par ordre alphabétique, mais à
partir de
la fin des noms de domaines. De manière a me retrouver avec tous les .fr;
.org
etc isolés les uns des autres.
Merci
Julie


---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com




---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com




---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
MichD
J'ai ajouté une petite section à la procédure pour tenir compte du fait que tu
voulais ajouter une ligne vide à chaque changement de domaine!


'--------------------------------------------------------------
Sub Test1()
Dim Rg As Range, C As Range, A As Long
Dim NbRow As Long, FistCell As Long

Application.ScreenUpdating = False
Application.EnableEvents = False

'adapte le nom de la feuille où sont tes données
With Worksheets("Feuil1")
'Adapte la lettre représentant la colonne des adresses internet.
'Dans l'exmple, la ligne 1 représente l'étiquette de colonne
Set Rg = .Range("A2:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
End With

For Each C In Rg
C.Offset(, 1) = Mid(C.Value, VBA.InStrRev(C.Value, "."), 100)
Next

With Rg.Resize(, 2)
'si la colonne n'a pas d'étiquette de colonne, Header:=xlNo
.Sort Key1:=.Item(1, 2), Order1:=xlAscending, Header:=xlYes
End With

'---Section ajoutée-------
NbRow = Rg.Cells.Count
FistCell = Rg(1, 1).Row

For A = NbRow To firstCell Step -1
If A = FistCell Then Exit For
If Rg(A) <> Rg(A - 1) Then
Rg(A).EntireRow.Insert
End If
Next
'---------------------------------

Rg.Offset(, 1).Clear
Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub
'--------------------------------------------------------------