Résolu XL pour MAC convertir une formule sommeprod a un code vba dans userform

ziyad djalil

XLDnaute Nouveau
salut jai un fichier qui contien une formule sommeprod et tres bien fonctionner je veus appliquer la fonction de cette formule dans userforme ..mercie a tous
 
Ce fil a été résolu! Aller à la solution…

Fichiers joints

Iznogood1

XLDnaute Impliqué
Bonjour

VB:
Private Sub UserForm_Activate()
    Lab1.Caption = Evaluate("=SUMPRODUCT((A4:A18=D4)*(B4:B18=E3))")
End Sub
 
Ce message a été identifié comme étant une solution!

patricktoulon

XLDnaute Barbatruc
re
attention on est dans un userform il n'est par forcé que les precedents de la formule soit du sheet actif
remplacer "Feuil1" par le non la feuille que tu veux
VB:
Private Sub UserForm_Activate()
    Lab1.Caption = Evaluate("=SUMPRODUCT((Feuil1!A4:A18=Feuil1.D4)*(Feuil1!B4:B18=Feuil1!E3))")
End Sub
 
Ce message a été identifié comme étant une solution!

job75

XLDnaute Barbatruc
Bonjour ziyad djalil, Iznogood1, patricktoulon, le forum,
mais je peus change d4 et e3 avec nom de label dans userform
Oui en créant des noms définis :
VB:
Private Sub UserForm_Activate()
ThisWorkbook.Names.Add "Label1", Label1 'nom défini
ThisWorkbook.Names.Add "Label2", Label2 'nom défini
'Lab1 = [SUMPRODUCT((A4:A18=Label1)*(B4:B18=Label2))]
Lab1 = [SUM((A4:A18=Label1)*(B4:B18=Label2))] 'formule matricielle (plus simple)
End Sub
Plutôt que SUMPRODUCT il est plus simple d'utiliser la fonction SUM qui est évaluée en matriciel.

Et il est inutile d'indiquer la propriété Caption puisque c'est celle qui est prise par défaut.

Bonne journée.
 
Ce message a été identifié comme étant une solution!

Fichiers joints

ziyad djalil

XLDnaute Nouveau
merci bcp izngood1 il marche tres bien mais je peus change d4 et e3 avec nom de label dans userform
re
attention on est dans un userform il n'est par forcé que les precedents de la formule soit du sheet actif
remplacer "Feuil1" par le non la feuille que tu veux
VB:
Private Sub UserForm_Activate()
    Lab1.Caption = Evaluate("=SUMPRODUCT((Feuil1!A4:A18=Feuil1.D4)*(Feuil1!B4:B18=Feuil1!E3))")
End Sub
dommage il saffiche erreur
Bonjour ziyad djalil, Iznogood1, patricktoulon, le forum,

Oui en créant des noms définis :
VB:
Private Sub UserForm_Activate()
ThisWorkbook.Names.Add "Label1", Label1 'nom défini
ThisWorkbook.Names.Add "Label2", Label2 'nom défini
'Lab1 = [SUMPRODUCT((A4:A18=Label1)*(B4:B18=Label2))]
Lab1 = [SUM((A4:A18=Label1)*(B4:B18=Label2))] 'formule matricielle (plus simple)
End Sub
Plutôt que SUMPRODUCT il est plus simple d'utiliser la fonction SUM qui est évaluée en matriciel.

Et il est inutile d'indiquer la propriété Caption puisque c'est celle qui est prise par défaut.

Bonne journée.
Merci beaucoup. Le code fonctionne très bien. Je vous remercie encore
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas