Bonjour les amis,
J'ai un réel problème aujourd'hui, et j'ai besoin de votre aide.
Je cherche à créer un programme qui calculerait automatiquement un taux de réussite basé sur un score (100) basé sur plusieurs critères.
Mais le problème, c'est que mes données sont filtrées avec une dizaine de colonnes dans Excel et du coup, mon programme sur VBA prend en compte toute les données, et pas seulement les données filtrées comme je le souhaiterez.
Il sélectionne la totalité, c'est a dire environ 300 données au lieu d'une centaine ou vingtaine qui sont filtrées.
Quelqu'un aurait une solution s'il vous plait ?
En vous remerciant.
Voici ma macro :
Sub liste1()
Dim L As Variant
Dim compteur As Variant
Dim Total As Variant
Dim Bon As Variant
compteur = 0
L = 1
While Cells(L, 12).Value <> ""
If Subtotal(Cells(L, 12) = 100) Then
compteur = compteur + 1
Else
compteur = compteur
End If
L = L + 1
Wend
Cells(2, 16).Value = compteur
Bon = Cells(2, 16).Value
compteur = 0
L = 2
While Cells(L, 12).Value <> ""
compteur = compteur + 1
L = L + 1
Wend
Cells(4, 16).Value = compteur
Total = Cells(4, 16).Value
Cells(1, 16).Value = Bon / Total
End Sub
J'ai un réel problème aujourd'hui, et j'ai besoin de votre aide.
Je cherche à créer un programme qui calculerait automatiquement un taux de réussite basé sur un score (100) basé sur plusieurs critères.
Mais le problème, c'est que mes données sont filtrées avec une dizaine de colonnes dans Excel et du coup, mon programme sur VBA prend en compte toute les données, et pas seulement les données filtrées comme je le souhaiterez.
Il sélectionne la totalité, c'est a dire environ 300 données au lieu d'une centaine ou vingtaine qui sont filtrées.
Quelqu'un aurait une solution s'il vous plait ?
En vous remerciant.
Voici ma macro :
Sub liste1()
Dim L As Variant
Dim compteur As Variant
Dim Total As Variant
Dim Bon As Variant
compteur = 0
L = 1
While Cells(L, 12).Value <> ""
If Subtotal(Cells(L, 12) = 100) Then
compteur = compteur + 1
Else
compteur = compteur
End If
L = L + 1
Wend
Cells(2, 16).Value = compteur
Bon = Cells(2, 16).Value
compteur = 0
L = 2
While Cells(L, 12).Value <> ""
compteur = compteur + 1
L = L + 1
Wend
Cells(4, 16).Value = compteur
Total = Cells(4, 16).Value
Cells(1, 16).Value = Bon / Total
End Sub