Stockage valeur

Résolu
touroul Messages postés 509 Date d'inscription   Statut Membre Dernière intervention   -  
touroul Messages postés 509 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour le forum !

Je souhaite afficher un UserForm si la moyenne de "FeuilleCalc"!(D2:D50) est inférieure à 3 ou supérieure à 10. Entre 3 et 10, ne rien faire.

J'ai essayé de stocker ma valeur moyenne dans une variable nommée "M"

Sub Test()  'Vérifie moyenne
With Sheets("FeuilleCalc")
Dim M As Long
M = Application.Average(Range(Cells(2, 4), Cells(50, 4)))
If .M.Value < 3 Then UF1.Show '***
If .M.Value > 10 Then UF1.Show
End With
End Sub


Au niveau de *** j'obtiens une erreur 438, sans comprendre pourquoi.
Un fichier exemple : https://www.cjoint.com/c/FCtiwBHtqXk

Puis-je vous demander de l'aide ?

Merci par avance !

A voir également:

4 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

pourquoi .M.Value et non M.Value ?
De plus avec Dim M As Long tu vas arrondir ta moyenne à l'entier, tu afficheras ton UF à tort dans certains cas.
eric

En essayant continuellement, on finit par réussir. 
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0
touroul Messages postés 509 Date d'inscription   Statut Membre Dernière intervention   16
 
Bonjour Eric

Merci de ta réponse

J'ai remplacé le Long par Single pour tenir compte des virgules et ne plus faire de moyenne.
J'ai supprimé le point avant M.
J'obtiens à présent une erreur "Qualificateur incorrect" sur la définition du M=

Sub Test()  'Vérifie moyenne
With Sheets("FeuilleCalc")
Dim M As Single
M = Application.Average(Range(Cells(2, 4), Cells(50, 4)))
If M.Value < 3 Then UF1.Show '***
If M.Value > 10 Then UF1.Show
End With
End Sub


Merci à plus !
0
touroul Messages postés 509 Date d'inscription   Statut Membre Dernière intervention   16
 
Eric, toujours là ? :)
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Non, pas toujours là, j'ai une vie à coté.
Le . m'avait sauté au yeux mais le .value n'a rien à faire sur une variable non plus.
eric
0
touroul Messages postés 509 Date d'inscription   Statut Membre Dernière intervention   16
 
Exact, sans le Value la fonction fait ce pour quoi elle a été conçue.
Erreur de syntaxe, donc.

Merci pour ton aide et bon week-end !
0