XL 2019 Somme VAB dans un bouton

Chloé Dubois

XLDnaute Nouveau
Bonjour à tous,
J'ai un soucis, je voudrais afficher la somme de mes cellules E32 à E39 directement dans le bouton.
Avec ma formule, excel m'affiche le résultat dans une petite fenetre.

J'ai utilisé :


Sub Simulation()
Dim MaPlage As Range
Dim MaSomme As Single
Set MaPlage = Range("E32:E39")
MaSomme = Application.WorksheetFunction.Sum(MaPlage)
MsgBox MaSomme
End Sub

Pourriez-vous m'aider ?
 

soan

XLDnaute Barbatruc
Inactif
Bonjour Chloé Dubois,

bienvenue sur le site XLD ! :)

ta « formule » s'appelle du « code VBA » pour le code VBA placé dans Module1 ; ou une « macro VBA » pour ta sub Simulation() ; ou une « instruction VBA » pour, par exemple, MsgBox MaSomme.

ta « petite fenêtre » est la boîte de dialogue affichée par l'instruction MsgBox, et c'est très pratique pour afficher un résultat ; bien sûr, tu peux choisir d'afficher ce résultat directement dans une cellule de la feuille de calcul, ou dans un formulaire (UserForm) ; mais un bouton de commande n'est pas fait pour afficher un résultat.​

voici ta sub optimisée :

VB:
Sub Simulation()
  MsgBox WorksheetFunction.Sum([E32:E39])
End Sub

soan
 

soan

XLDnaute Barbatruc
Inactif
@Chloé

pour afficher le résultat dans la cellule D5 (par exemple) :

VB:
Sub Simulation()
  Range("D5") = WorksheetFunction.Sum([E32:E39])
End Sub

OU, en notation abrégée :

VB:
Sub Simulation()
  [D5] = WorksheetFunction.Sum([E32:E39])
End Sub



pour afficher le résultat dans un formulaire, il faut commencer par créer un UserForm ; ensuite, tu peux choisir d'afficher le résultat dans une TextBox (propriété par défaut : .Value) ; mais comme c'est juste une info qui n'a pas besoin d'être saisie ou changée, c'est mieux d'utiliser un Label (propriété par défaut : .Caption).

commence par insérer un module UserForm : dans la fenêtre "Microsoft Visual Basic", fais Alt i u ; pour la suite, je te laisse chercher sur le net des exemples pour créer un UserForm.​

soan
 

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote