Excel 2003, 2 questions

Bonjour le forum,
Excel 2003

1ère question
J'ai créé 1 bouton qui lance un tri sur la colonne D dans un filtre automatique de A3:Q78 (ci-dessous)

Sub Trier()
Range("A3:Q78").Sort Key1:=Range("D3"), Order1:=xlDescending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Il fonctionne correctement mais je souhaite ajouter un mini tri en plus quand j'ai des valeurs identiques en colonne D 850 dans mon exemple de trier selon l'ordre alphabétique de la colonne C aaa puis rrr puis zzz en faisant le tri d'abord par D puis par C

image

------------------------------------------------

2ème question
en Excel 2016 VBA, j'arrive à trouver le code couleur d'une cellule pour ensuite faire des tris, des calculs ...Etc.
est ce qu'en Excel 2003 dans une formule de préférence ou sinon en VBA, en haut de colonne comptabiliser le nombre de cellule avec un fond rose ?
pou exemple, j'ai écris 4 pour compter les cellules rose de G3:G22

image

Merci d'avance

Bonjour, pour la première question l'enregistreur macro vous aurez donné la formulation du double tri.

Range("A3:Q78").Select
    Selection.Sort Key1:=Range("D3"), Order1:=xlAscending, Key2:=Range("C3") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal

Bonjour,

Pour la question 2 ça ne me semble possible que si la couleur correspond à une coloration de type conditionnel. (MFC)

Dans ce cas un comptage se ferait sur la condition de remplissage.

Si c'est juste une coloration décorative je pense que ce n'était pas possible.

A+

Bonjour Xmenpl,

Merci beaucoup, j'ai un peu remanié car je n'avais pas assez bien précisé l'ordre de chaque colonne et en + je me suis trompée de colonne B au lieu de C ^^
et sinon que le tri dans votre réponse se faisait sur l'ensemble comme ci-dessous
Range("A3:Q78").Select
Selection.Sort Key1: ... Etc

et non pas
Range("A3:Q78").Sort Key1: ... Etc

Voici ce que ca donne et qui marche impeccable, encore Merci

Range("A3:Q78").Sort Key1:=Range("D3"), Order1:=xlDescending, Key2:=Range("B3") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal

Par contre, j'avais bien utilisé l'enregistreur de macro pour trouver le 1er tri
mais je n'ai pas trouvé comment obtenir les 2 tri en un seul code, est ce que vous pourriez SVP me l'expliquer comment vous avez fait ?
ca me sera très certainement utile, plutôt que de recopier le code ^^

Bonjour galopin01,

Merci pour votre réponse, je me doutais un peu qu'en version 2003 ça n'aurait pas été possible

Pour info, les couleur des cellules sont juste pour m'y retrouver et je n'ai pas vraiment besoin de le faire en MFC
du coup je vais compter à la main ^^

Bonjour Xmenpl,

Merci beaucoup, j'ai un peu remanié car je n'avais pas assez bien précisé l'ordre de chaque colonne et en + je me suis trompée de colonne B au lieu de C ^^
et sinon que le tri dans votre réponse se faisait sur l'ensemble comme ci-dessous
Range("A3:Q78").Select
Selection.Sort Key1: ... Etc

et non pas
Range("A3:Q78").Sort Key1: ... Etc

Par contre, j'avais bien utilisé l'enregistreur de macro pour trouver le 1er tri

mais je n'ai pas trouvé comment obtenir les 2 tri en un seul code, est ce que vous pourriez SVP me l'expliquer comment vous avez fait ?
ca me sera très certainement utile, plutôt que de recopier le code ^^

Re bonjour. il n'y a pas grande différence entre les deux formulations : Range("A3:Q78").Select = selection donc

Sélection.Sort = Range("A3:Q78").Sort

Concernant la méthode avec l'enregistreur de macro sur Excel 2003 :

- Début enregistrement / Sélection de la plage à trier / puis Donnés trier / et dans l'ordre vous indiquez jusqu'à trois option de tri croissant ou décroissant.

nouvelle image 20

vous aurez ainsi un aperçu des lignes de code qui comme vous l'avez indiqué plus aux peuvent être simplifiée ensuite.

Rechercher des sujets similaires à "2003 questions"