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

BipBip.gif
 
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:D" & fin), Type:=xlFillDefault

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

Columns("D: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
 
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.

BipBip.gif
 

Discussions similaires

Statistiques des forums

Discussions
314 136
Messages
2 106 251
Membres
109 547
dernier inscrit
Acilia