Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ne pas tous trier

D

DUCL44

Guest
Bonjour le forum

Je viens de me lever et déjà j'ai une question

Je voudrais trier un tableau comme celui la

A1: 1 B1: Vélo C1: Decatlhon

A2: 1 B2: Cadre C2: Cannondale
A3: 2 B3: Selle C3: San marco
A4: 3 B4: Groupe C4: Shimano ultréga

A5: 1 B5: Cadre C5: Colnago
A6: 2 B6: Roue C6: mavic
A7: 2 B7: Groupe C7: Campagnolo record

Et voila ce que je veux obtenir:

A1: 1 B1: Cadre C1: Cannondale
A2: 2 B2: Selle C2: San marco
A3: 3 B3: Groupe C3: Shimano ultréga

A4: 1 B4: Cadre C4: Colnago
A5: 2 B5: Groupe C5: Campagnolo record
A6: 2 B6: Roue C6: mavic

A7: 1 B7: Vélo C7: Decatlhon

Le tri ce fait si il y a un 1 en colonne A et ce qui il ya en dessos reste
Si en dessous il y a deux 2 alors il se tri par la colone C alphabetiquement
Merci de votre aide je pense que c pas facile
Je sais comment trier mais la je seche

Merci et @+ sur le forum

DUCL
 
J

jp

Guest
Bonsoir DUCL44, bonsoir le Forum,

Il faudrait une explication plus "explicite". En effet, dans ton exemple, il semble n'avoir que 2 cas qui répondent à la question..

Il serait plus judicieux de mettre ton exemple, comme ici présenté, dans une feuille Excel (colonnes A à C), et colonnes F à H (c'est bien il n'y a quelques lignes) , la solution que tu souhaites obtenir. Cela sera sans aucun doute plus facile à traiter.

Merci de ta réponse, et bonne soirée à tous.

jp
 
D

DUCL44

Guest
Salut jp et le forum

Désolé pour la réponse très tardive

Voila le fichier exemple avec en feuil 1 le départ et en 2 ce qu'il faudrait obtenir

Merci pour les réponses

DUCL44
 

Pièces jointes

  • tri.zip
    2.4 KB · Affichages: 16
  • tri.zip
    2.4 KB · Affichages: 9
  • tri.zip
    2.4 KB · Affichages: 11
A

andré

Guest
Salut DUCL44,

Tu crées une colonne supplémentaire à gauche (nouvelle colonne A) dans laquelle tu mets en A2 la formule : SI(B2=1;D2;A1&"a") que tu copies vers le bas.
Tu tries sur la colonne A, sans ligne de titre.

Vois si cela te convient, sinon n'hésite pas à faire signe, j'aime les problèmes qui tiennent plus de la logique que de la formule.

Ândré.
 
C

C@thy

Guest
Bonjour DUCL fourty-four

Tu trouveras des exemples et des idées dans le fichier à télécharger sur les dates et heures (dans les nouveautés) dans les onglets qui commencent par classement ou classer

 
A

andré

Guest
Resalut DUCL44,

Le VBA n'est pas ma tasse de thé.
Je ne sais pas pourquoi, mais je donne la préférence aux formules, peut-être parce qu'elles sont plus faciles à controler lorsqu'il y a quelque chose qui ne fonctionne pas correctement.

Ândré.
 
D

DUCL44

Guest
Re

Merci pour ta réponse andré

Moi je suis plutôt VBA mais bon ta formule me convient parfaitement c'était juste pour savoir. (Peu importe la maniere pourvu que l'on obtienne le résultat souhaité;-) )

Encore merci

@+

DUCL44
 
D

DUCL44

Guest
Bonsoir
andré
Est- il possible en VBA de lui faire écrire la formule proposé par andré (càd =SI(A2=1;C2;D1&"a") en colonne D dans la premire cellule et de l'étirer à toutes les cellules puis d'effectuer le tri et enfin de supprimer le contenude la colonne D.

J'ai essayer d'écrire activecell.text="=SI(A2=1;C2;D1&"a")" mais visiblement il n'aime pas les points virgules

Merci de vos réponses

@+

DUCL44
 
M

Mytå

Guest
salut DUCL44 et le forum

par macro regarde de se coté la si cela pourrait te convenir

Option Explicit
Sub Triage()

Dim fin As Integer

fin = Range("a65535").End(xlUp).Row

Range("D2").FormulaR1C1 = "=IF(RC[-3]=1,RC[-1],R[-1]C&""a"")"
Range("D2").AutoFill Destination:=Range("D2" & fin), Type:=xlFillDefault

Range("A1" & fin).Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Columns("D").Delete Shift:=xlToLeft

End Sub

Mytå
 
D

DUCL44

Guest
Bonjour tous le monde

Merci de ton aide myta

Mais j'ai encore un petit probleme.

si deux lignes de niveau 1 sont identique alors la ca ne fonctionne plus

A part ca c'est nickel

J'ai encore besoin d'un petit coupde main

Merci a vous

Bonne journée

DUCL44
 
A

andré

Guest
Salut DUCL44,

Deux petites remarques :

Il me semble que ce n'est pas la colonne D qu'il faut supprimer, mais bien la colonne A.

Ensuite, pourquoi n'emploies-tu pas l'enregistreur de macros ?

Ândré.
 
C

C@thy

Guest
salut Ducl44,

remplace .text par .formula, en effet ce n'est pas du texte mais bien une formule de calcul.

Cela dit, André a raison, la meilleure macro c'est de ne pas en écrire, si excel peut faire sans.

 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…