Filtrer valeurs similaires
Fermé
sormick
-
12 sept. 2014 à 18:54
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 - 15 sept. 2014 à 14:39
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 - 15 sept. 2014 à 14:39
A voir également:
- Filtrer valeurs similaires
- Excel liste de valeurs - Guide
- Coqnu similaires - Forum Jeux PC
- Site similaire - Forum Hébergement
- Formule excel si compris entre plusieurs valeurs ✓ - Forum Excel
- Quand on visite cette page, des messages sont échangés entre le navigateur et le site web. des extraits des messages échangés lors de la première connexion sont reproduits ci-dessous. des valeurs ont été remplacées par des numéros. retrouvez chacune de ces valeurs. - Forum Réseaux sociaux
3 réponses
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
12 sept. 2014 à 20:14
12 sept. 2014 à 20:14
Ce n'est peut-être pas super élégant, mais voici un début de solution
Une petite macro qui créé un tableau avec des valeur unique et le nombre de doublons, et ensuite l'on tri ce nouveau tableau pour avoir l'ordre désiré
Sub Tri_tableau()
Dim pays As String
Dim valeur As Integer
Dim Doublons As Integer
Dim i As Integer '* Variable pour boucler sur nos valeur
Dim J As Integer '* Variable pour écrire les résultats
pays = Range("A1").Value '* On assigne pour commencer notre variable pays
valeur = Range("B1").Value '* même chose pour valeur, on suppose que le tableau commence en A1
i = 1
J = 1
Doublons = 0 '* Variable qu'on incrémente à chaque fois qu'une valeur identique est trouvée
While Range("a" & i).Value <> ""
'* On test voir si le pays et la valeur sont égal à la valeur en mémoire
If (pays = Range("A" & i).Value) And (valeur = Range("B" & i).Value) Then
'* Si c'est le cas, on incrémente notre variable doublons
Doublons = Doublons + 1
'* on "imprime" le résultat, ce résultat sera écrasé tant que les valeurs sont identique
Range("D" & J).Value = pays
Range("E" & J).Value = valeur
Range("F" & J).Value = Doublons
Else
'*On change de ligne
J = J + 1
'* Et l'on recommence avec la nouvelle valeur en réinitialisant notre variable doublons
pays = Range("A" & i).Value
valeur = Range("B" & i).Value
Doublons = 1
'* on "imprime" le résultat quand même
Range("D" & J).Value = pays
Range("E" & J).Value = valeur
Range("F" & J).Value = Doublons
End If
i = i + 1
Wend
'* Et on fait un tri, d'abord par pays, ensuite par doublons, a modifier au besoin
Columns("D:F").Select
Selection.Sort Key1:=Range("D1"), Order1:=xlAscending, Key2:=Range("F1") _
, Order2:=xlDescending, Key3:=Range("E1"), Order3:=xlAscending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Une petite macro qui créé un tableau avec des valeur unique et le nombre de doublons, et ensuite l'on tri ce nouveau tableau pour avoir l'ordre désiré
Sub Tri_tableau()
Dim pays As String
Dim valeur As Integer
Dim Doublons As Integer
Dim i As Integer '* Variable pour boucler sur nos valeur
Dim J As Integer '* Variable pour écrire les résultats
pays = Range("A1").Value '* On assigne pour commencer notre variable pays
valeur = Range("B1").Value '* même chose pour valeur, on suppose que le tableau commence en A1
i = 1
J = 1
Doublons = 0 '* Variable qu'on incrémente à chaque fois qu'une valeur identique est trouvée
While Range("a" & i).Value <> ""
'* On test voir si le pays et la valeur sont égal à la valeur en mémoire
If (pays = Range("A" & i).Value) And (valeur = Range("B" & i).Value) Then
'* Si c'est le cas, on incrémente notre variable doublons
Doublons = Doublons + 1
'* on "imprime" le résultat, ce résultat sera écrasé tant que les valeurs sont identique
Range("D" & J).Value = pays
Range("E" & J).Value = valeur
Range("F" & J).Value = Doublons
Else
'*On change de ligne
J = J + 1
'* Et l'on recommence avec la nouvelle valeur en réinitialisant notre variable doublons
pays = Range("A" & i).Value
valeur = Range("B" & i).Value
Doublons = 1
'* on "imprime" le résultat quand même
Range("D" & J).Value = pays
Range("E" & J).Value = valeur
Range("F" & J).Value = Doublons
End If
i = i + 1
Wend
'* Et on fait un tri, d'abord par pays, ensuite par doublons, a modifier au besoin
Columns("D:F").Select
Selection.Sort Key1:=Range("D1"), Order1:=xlAscending, Key2:=Range("F1") _
, Order2:=xlDescending, Key3:=Range("E1"), Order3:=xlAscending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Re-bonjour,
Il n'y aurait pas t'il une macro plus simple pour ce type de tri ou encore sans passer par une macro est t'il possible sur excel de le faire avec des filtres élaborés ou par mise en forme conditionelle??
Il n'y aurait pas t'il une macro plus simple pour ce type de tri ou encore sans passer par une macro est t'il possible sur excel de le faire avec des filtres élaborés ou par mise en forme conditionelle??
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
15 sept. 2014 à 14:39
15 sept. 2014 à 14:39
J'ai mis quelques commentaires.
Mais en gros, tu as un while, un if 5 variables.
C'est relativement petit comme macro et c'est du code relativement de base. (Je ne suis pas un super expert).
J'imagine qu'un expert pour raccourcir le code avec des fonctions plus complexe.
Mais bon, voila le fichier sur cjoint, tu peux le downloader et le bidouiller.
C'est un bon début pour approfondir sur le code VBA.
http://cjoint.com/data/0IpoPB7Devi.htm
Mais en gros, tu as un while, un if 5 variables.
C'est relativement petit comme macro et c'est du code relativement de base. (Je ne suis pas un super expert).
J'imagine qu'un expert pour raccourcir le code avec des fonctions plus complexe.
Mais bon, voila le fichier sur cjoint, tu peux le downloader et le bidouiller.
C'est un bon début pour approfondir sur le code VBA.
http://cjoint.com/data/0IpoPB7Devi.htm