Tri ordre alphabétique
Résolu
Melycea
-
Melycea -
Melycea -
Bonjour à toutes et à tous,
J'ai créé une macro qui répertorie grace à un dictionnaire toutes les valeurs de la colonne 10 de ma feuille 1 et calcule les occurences de chacune.
Ensuite, elle écrit toutes ces données dans la feuille 4 du même fichier.
Mais je voudrai qu'elle écrive ces données par odre alphabétique, seulement je ne sais pas du tout comment faire étant donné que le dictionnaire n'est que "virtuel".
Voici le code de ma macro actuelle :
Merci de votre aide.
J'ai créé une macro qui répertorie grace à un dictionnaire toutes les valeurs de la colonne 10 de ma feuille 1 et calcule les occurences de chacune.
Ensuite, elle écrit toutes ces données dans la feuille 4 du même fichier.
Mais je voudrai qu'elle écrive ces données par odre alphabétique, seulement je ne sais pas du tout comment faire étant donné que le dictionnaire n'est que "virtuel".
Voici le code de ma macro actuelle :
Sub Bouton1_Clic()
Dim FinTab As Integer, Valeur As String, DerLig As Integer, Dico As Object, _ element As Variant, Somme As Integer
DerLig = ActiveWorkbook.Sheets(1).Range("A65536").End(xlUp).Row 'dernière _ ligne de la Wire List
FinTab = ActiveWorkbook.ActiveSheet.Range("B65536").End(xlUp).Row 'dernière _ ligne de la Part List précédente
' Création du dictionnaire
Set Dico = CreateObject("Scripting.Dictionary")
' Mise à zéro du dictionnaire
For Each element In Dico
Remove.Dico (element)
Next element
' Effacement de la Liste précédente (s'il y en avait une)
If FinTab <> 2 Then
For i = 2 To 3
For j = 3 To FinTab
Cells(j, i) = ""
Cells(j, i).Borders.LineStyle = xlNone
Next j
Next i
End If
' Remplissage du dictionnaire avec Key=Valeur et Item=occurences
For i = 3 To DerLig
Valeur = ActiveWorkbook.Sheets(1).Cells(i, 10)
If Dico.exists(Valeur) And Valeur <> "" Then
Dico.IteM(Valeur) = Dico.IteM(Valeur) + 1
ElseIf Valeur <> "" Then
Dico.Add Valeur, 1
End If
Next i
' Remplissage "physique" de la Liste
i = 3
For Each element In Dico
Cells(i, 2) = element
Cells(i, 3) = Dico.IteM(element)
Somme = Somme + Dico.IteM(element) ' calcul du total
i = i + 1
Next element
' Remplissage du total
Cells(i, 2) = "Total"
Cells(i, 3) = Somme
End Sub
Merci de votre aide.
A voir également:
- Notepad++ trier par ordre alphabetique
- Comment trier par ordre alphabétique sur excel - Guide
- Telecharger notepad++ - Télécharger - Édition & Programmation
- Triez ce tableau par ordre alphabétique des prénoms. ✓ - Forum Excel
- Finale notepad - Télécharger - Outils professionnels
- Notepad++ remplacer par saut de ligne ✓ - Forum Bureautique