[Excel 2003] Trier un tableau à double entrée [Résolu/Fermé]

Signaler
Messages postés
16
Date d'inscription
lundi 21 juin 2010
Statut
Membre
Dernière intervention
26 août 2013
-
Messages postés
16
Date d'inscription
lundi 21 juin 2010
Statut
Membre
Dernière intervention
26 août 2013
-
Bonjour,

J'ai un tableau à double entrée avec en ligne et en colonne des noms de villes, et à l'intersection la distance en km.
Mon tableau est mis à jour régulièrement, c'est à dire que des villes sont rajoutées avec la distance correspondante.
Mais du coup mon ordre alphabétique n'est plus respecté ...

Y'a-t-il un moyen de trier le tableau pour remettre en ordre alphabétique les titres des lignes et des colonnes en gardant l'info de la distance à l'intersection ?

Je sais pas si je suis très claire ...

Merci pour votre aide !

Marmotte


10 réponses

Messages postés
16
Date d'inscription
lundi 21 juin 2010
Statut
Membre
Dernière intervention
26 août 2013
3
Merci.
Mais ça ne trie que les lignes ... et je voudrais trier les colonnes aussi ...

Voici mon tableau, ça sera peut-être plus parlant :

http://www.cijoint.fr/cjlink.php?file=cj201010/cijFf7TKnV.xls
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
29
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
17 novembre 2010
17
Tu selectionnes toutes les colonnes que tu veux trier en même temps (colone ville et colone distance) et tu fais
données-trier...
En fonction de la colone A, tu selectionnes croissant

Comme ça toutes tes lignes reste en face

J'espère avoir bien répondu

Meilleur-web.fr
Messages postés
29
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
17 novembre 2010
17
Ah ah, j'ai trouvé !!!

Tu sélectionnes toute tes colonne de B à CO (pas la colonne A)
Tu fait données-trier...
option-orientation-de gauche vers la droite
Ok
Tu choisi ensuite ligne 2 - croissant- Ok

ça doit marcher
Messages postés
579
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
11 novembre 2018
296
Bonjour,

Par une macro, un appui sur bouton, et hop....

sans macro, en 2 étapes....

Clique sur la cellule A2 de ton fichier...

Puis sur "Données/Trier"

Sélectionnes :

- Trier par : "Destinations", tout en confirmant que ta plage de données comporte une ligne de titres...

Ceci étant fait, tu sélectionnes de la cellule B2 à la cellule CO94 (dimensions de ton tableau de données)

Tu refais "Données/Trier"

En bas de la fenêtre de tri, tu cliques sur "Options"

Et là, tu choisis "De la gauche, vers la droite"

"OK"

Dans la fenêtre de tri, tu contrôles bien que "Ligne 2" est sélectionnée, et tu fais "OK"...

Voili, Voilou

Euh, pour la macro, si tu veux, on peut le faire....

@ te relire
Messages postés
16
Date d'inscription
lundi 21 juin 2010
Statut
Membre
Dernière intervention
26 août 2013
3
@Meilleur-Web : merci pour ta rapidité mais ... ça n'est pas ce que je cherche :-) En fait, avec ta méthode, ça ne tri pas la colonne A et j'ai besoin de la trier aussi par ordre alphabétique ...

@cousinhub29 : ça marche merciii !!
Pour la macro, je vais refaire la manip en l'enregistrant, ça devrait le faire !

Merci à vous deux !

Marmotte
Messages postés
16
Date d'inscription
lundi 21 juin 2010
Statut
Membre
Dernière intervention
26 août 2013
3
Heu ... finalement je veux bien la macro si c'est pas trop abusé ...! :-)

J'ai essayé de l'enregistrer mais ça bug quand je rajoute des nouvelles villes (la macro ne les prend pas en compte ...)

Merci d'avance !

Marmotte
Messages postés
579
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
11 novembre 2018
296
Bonsoir,

Euh, trop tard....(fallait le demander avant.....)

Nan, je déconne...

Essaie avec ce code :

Sub Tri_Villes()
Dim PremCel As Range, DerCel As Range
Set PremCel = Range("A2")
Set DerCel = Range("A2").SpecialCells(xlCellTypeLastCell)
Range(PremCel, DerCel).Sort Key1:=PremCel.Offset(1), Order1:=xlAscending, Header:=xlYes
Range(PremCel.Offset(, 1), DerCel).Sort Key1:=PremCel.Offset(, 1), Order1:=xlAscending, Header:=xlGuess, _
        Orientation:=xlLeftToRight
End Sub


Bon courage
Messages postés
16
Date d'inscription
lundi 21 juin 2010
Statut
Membre
Dernière intervention
26 août 2013
3
C'est presque ça !
Le problème est que ça me remplace les titres des lignes dans la colonne A...
En fait, ça déplace la colonne A car le titre de la colonne est "Destinations" donc du coup ça la classe dans les D ...
Messages postés
579
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
11 novembre 2018
296
Re-,

J'ai élaboré ce code, à partir du fichier que tu avais fourni...

S'il ne fonctionne pas correctement, c'est que ton fichier de travail n'est pas identique à ton fichier exemple....

Je pense que le plus simple, pour toi, serait d'essayer de comprendre le code fourni, et ensuite, de revenir si tu n'y arrives pas...

Bon courage
Messages postés
16
Date d'inscription
lundi 21 juin 2010
Statut
Membre
Dernière intervention
26 août 2013
3
Vi j'ai été un peu fainéante sur l'action ... ^^

Alors, j'ai rajouté Orientation:=xlTopToBottom Après
Set DerCel = Range("A2").SpecialCells(xlCellTypeLastCell)

Parce que ça me gardait l'option "de gauche à droite" ... je ne sais pas pourquoi ...

Bref, maintenant ça marche et c'est nikel !
Merci Cousinhub !

Juste une question pour que je me couche moins bête ce soir :

ça signifie quoi .Offset(1) et Offset(, 1) ?