Bonjour
je souhaite développer une macro pour calculer le nombre de valeurs différentes dans une ligne
Par exemple: sur une ligne on a : 3 6 3 4 3 5 => nombre de valeurs différentes : 4
Est-ce que vous pouvez m'aider ?
Merci!
Bonjour
je souhaite développer une macro pour calculer le nombre de valeurs différentes dans une ligne
Par exemple: sur une ligne on a : 3 6 3 4 3 5 => nombre de valeurs différentes : 4
Est-ce que vous pouvez m'aider ?
Merci!
Bonsoir,
en regardant les algoritmes possibles, il semble que le plus simple est de trier les nombres puis de compter chaque fois que le nombre suivant est différent ; j'ai fait un essai de compte de cette façon :
bonne soirée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Sub compte() Dim cel As Integer Dim n As Integer, i As Integer n = 1 'au moins 1 'dernière valeur en ligne depuis A2 If Cells(2, 2) <> "" Then der = Range("A2").End(xlToRight).Column Else der = 1 'si un seul nombre 'tri des nombres With Feuil1.Sort .SetRange Range(Cells(2, 1), Cells(2, der)) .Header = xlGuess .MatchCase = False .Orientation = xlLeftToRight .SortMethod = xlPinYin .Apply End With 'compte If der > 1 Then For i = 2 To der If Cells(2, i - 1).Value <> Cells(2, i) Then n = n + 1 'compte si différent Next i End If If Cells(2, 1) = "" Then n = 0 'si ligne vide Cells(3, 2) = n End Sub
geogeo70
Bonjour,
ici des méthodes par formule Excel : http://silkyroad.developpez.com/exce...lons/#LIII-A-2
ici un billet de blog de Philippe Tulliez pour manipuler les formules par VBA : http://www.developpez.net/forums/blo...procedure-vba/
si tu as des soucis, n'hésite pas.
il est aussi possible de manipuler les formules Excel qui se calculent directement dans la procédure (pas d'écriture de la formule dans une cellule) : regarde l'aide en ligneconcernant Application.WorkSheetFunction
Partager