Bonjour,
Pour les statistiques tu peux utiliser la classe de collection "Dictionary".
Code à glisser par exemple dans:
Code :
- Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
- 'Désactivation du menu contextuel'
- Cancel = True
- 'Stockage de la plage de cellules'
- Targets = Sh.UsedRange.Address
- 'Appel de procédure'
- Call listing(Target, Targets)
- End Sub
|
Code à gilsser dans un module:
Code :
- Public Sub listing(Target As Range, ByVal Targets As String)
- 'Création du dictionnaire'
- Set dict = CreateObject("Scripting.dictionary" )
- 'Itération sur la collection range et stockage dans le dictionnaire'
- For Each Target In Range(Targets)
- If Not IsEmpty(Target) Then
- If Not dict.Exists(Target.Value) Then
- 'Création de la clé et stockage de l'Item'
- dict.Add Target.Value, 1
- Else
- 'Incrémentation de l'Item'
- dict.Item(Target.Value) = dict.Item(Target.Value) + 1
- End If
- End If
- Next
- 'Déclaration des variables'
- iKey = dict.keys
- iItem = dict.items
- 'Itération sur la collection du dictionnaire'
- For i = 0 To dict.Count - 1
- result = result & "Key= " & iKey(i) & ", Item= " & iItem(i) & vbLf
- Next
- 'Affichage du résultat'
- MsgBox result
- End Sub
|
Pour la deuxième étape, je n'ai pas compris!
Message édité par mmarle le 19-02-2014 à 10:29:08