Bonjour,

Tout d'abord je tiens à préciser que je suis une vraie débutante en VBA (même si je m'arrange toujours pour avoir quelque chose qui fonctionne).

Je bosse actuellement sur un projet basé sur des Userforms. Dans l'un d'eux, je demande à l'utilisateur de donner une note à 10 critères (0, 2, 5 ou 10) pour cela j'ai mis à chaque fois un cadre (Frame1, Frame2, ...) et dans chaque cadre 4 boutons (donc 40 OptionButtons!!!).

Ensuite je fais le total de ces boutons dans zTotal (j'ai 40 codes comme celui-là).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Private Sub OptionButton1_Change()
 
If OptionButton1.Value = True Then
zTotal = zTotal + 0
Else
zTotal = zTotal - 0
End If
 
End Sub
Puis j'envoi mes données vers ma feuille Excel ou je peux lire un résumé de tous les avis donnés:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Dim j As Integer
j = Worksheets("AUDIT").Range("DébHisto").CurrentRegion.Rows.Count

With Worksheets("AUDIT").Range("DébHisto")
        .Offset(j, 24).Value = Format( ?????? , "0%")
J'ai regardé dans la feuille est la cellule zTotal correspond, en language courant, à:

=(E2+G2+I2+K2+M2+O2+Q2+S2+U2+W2)/(100-(NB.VIDE(D2:X2)-10)*10)

Je m'explique. Si l'utilisateur ne répond pas pour tous les critères mais seulement a 6 par exemple, la note est faussée si je la met directement en format "0%". Je cherche donc un moyen de tenir compte du nombre de cadres utilisés pour pouvoir calculer un pourcentage en fonction du nombre de réponses.

Je suis claire?

Merci d'avance pour vos réponses.