[Excel 2003] Trier un tableau à double entrée

Résolu
MarmotteFred Messages postés 16 Statut Membre -  
MarmotteFred Messages postés 16 Statut Membre -
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

  1. MarmotteFred Messages postés 16 Statut Membre 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
  2. Meilleur-Web Messages postés 33 Statut Membre 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
    0
  3. Meilleur-Web Messages postés 33 Statut Membre 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
    0
  4. cousinhub29 Messages postés 1113 Date d'inscription   Statut Membre Dernière intervention   383
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. MarmotteFred Messages postés 16 Statut Membre 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
    0
  7. MarmotteFred Messages postés 16 Statut Membre 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
    0
  8. cousinhub29 Messages postés 1113 Date d'inscription   Statut Membre Dernière intervention   383
     
    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
    0
  9. MarmotteFred Messages postés 16 Statut Membre 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 ...
    0
  10. cousinhub29 Messages postés 1113 Date d'inscription   Statut Membre Dernière intervention   383
     
    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
    0
  11. MarmotteFred Messages postés 16 Statut Membre 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) ?
    0