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

Trier selon 2 conditions

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sniper2002

XLDnaute Occasionnel
bonjour

je souhaite vous soumettre une problématique sur excel à laquelle je suis resté impuissant 🙂

je reçois des données sur 5 colonnes dont le le nombre de lignes peut varié de 100 à 1000 voir même plus
Colonne A : Ville
Colonne B : PPT
Colonne C : Positionnement Géo
Colonne D : Qunatité
Colonne E : Valo

li'dée est de venir coller mes données et par la suite je souhaite obtenir un classement décroissant des villes par positionnement géo; et selon les quantités !
ci joint le fichier pour l'exemple (la trame est dans le feuil 2)


merci pour vos réponses,
 

Pièces jointes

Re : Trier selon 2 conditions

Bonsoir à tous
Un peu tard peut-être ?
Code:
[COLOR="DarkSlateGray"][B]Sub ventiler()
Dim oDat, rDat, pDest, i As Long
   Me.Shapes.Item(2).Visible = False
   With Application: .ScreenUpdating = False: .Calculation = xlManual: End With
   pDest = Array(4, Array("Nord est", "H20:J29"), Array("Nord ouest", "B20:D29"), Array("Sud est", "H3:J12"), Array("Sud ouest", "B3:D12"))
   Sheets.Add Before:=ActiveSheet
   With Feuil1
      With .Range(.Cells(1, 5), .Cells(.Rows.Count, 1).End(xlUp))
         oDat = .Value
         .Sort Key1:=.Cells(1, 3), Order1:=xlAscending, Key2:=.Cells(1, 4), Order2:=xlDescending, Header:=xlYes, Orientation:=xlSortColumns
         .AutoFilter
         For i = 1 To pDest(0)
            .AutoFilter Field:=3, Criteria1:=pDest(i)(0)
            .SpecialCells(xlCellTypeVisible).Copy Destination:=ActiveSheet.Range("A1")
            With ActiveSheet
               .Columns("B:C").Delete Shift:=xlToLeft
               rDat = .Range("A2:C11").Value
               .Range("A1:C11").Value = Empty
            End With
            Me.Range(pDest(i)(1)).Value = rDat
         Next i
         .AutoFilter Field:=3
         .AutoFilter
         .Value = oDat
      End With
   End With
   Me.Shapes.Item(1).Visible = True
   With Application
      .DisplayAlerts = False: ActiveSheet.Delete: .DisplayAlerts = True
      .Calculation = xlAutomatic: .ScreenUpdating = True
   End With
End Sub

Sub rst()
   Me.Shapes.Item(1).Visible = False
   Me.Range("B3:D12, H3:J12, B20:D29, H20:J29").ClearContents
   Me.Shapes.Item(2).Visible = True
End Sub[/B][/COLOR]
(Code pour la feuille Feuil2.)​
ROGER2327
#2578
 

Pièces jointes

Re : Trier selon 2 conditions

Merci beaucoup pour vos réponses! vraiment lorsque je vois les solutions proposées:
1 - je ne comprend rien à votre code, ( ça me donne le sentiment que je suis dépassé)
2 - je ressens que je suis face à des pro de chez pro d'Excel ! plus que ça "des passionnés d'Excel
3- le temps investi pour trouver une solution sachant qu'il n y a pas de récompense derrière ! (enfin la récompense c'est voir que ça marche 🙂 ).
4 - merci beaucoup

les solutions avec un code VBA sont dangereuses pour moi dans le sens où je serrai à amener des modifications ( exemple : rajoutée un positionnement )au code écrit (chose que je ne maitrise pas ) et ce qui me rend dépendent de votre intelligence 🙂

La solution de david84 semble la plus adaptée pour moi, le problème c'est qu'elle ne marche pas (#Nombre! : comme message d'erreur à l'ouverture de fichier). je vais essayer de résoudre le problème de cette formule.

Je profite pour poser une question :
comment on peut écrite une formule Max/min avec 2 conditions, je sais faire avec une seul mais pas avec 2 : =Max(si(A2:A30=$D$2;C2:C30))

Encore une fois je salue votre effort et votre altruisme
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…