!!! Somme sous VBA !!!

  • Initiateur de la discussion fabrice
  • Date de début
F

fabrice

Guest
Bonjour tout le monde.

J'ai juste une petite question concernant les sommes sous VBA.

En effet, je souhaiterai faire la somme de cellules sous VBA. Quelle est la synthaxe exacte pour faire cette somme???

Merci de votre réponse
FAb
 
S

steplof

Guest
Salut à tous,

bon je me lance,
si tu veux additionner ta cellule a1 et ta cellule a2 et voir le résultat en a3 tu tapes:
sub somme()

range("a3").value=range("a1").value +range ("a2").value

end sub

ou range("A3").formula= range("a1")+range ("a2")

pour plus compliqué explique ce que tu veux... car là l'interet semble limité...


@+
Steplof.
 
J

Jean-Marie

Guest
Bonsoir, Fabrice

En VBA la fonction somme s'appel SUM, et s'emploie comme la SOMME() sous excel

=SUM("A1:A20";"B1:Z10")

Espérant avoir répondu à ta question, bonne fin de journée.

@+Jean-Marie
 
F

fabrice

Guest
Salut à vous deux!

Merci de vos réponses. J'avais vu la fonction SUM dans l'aide de VB (F1) mais impossible de m'en servir.

En fait, je tape

Private Sub UserForm_Initialize()
=Sum("n130:n132").Select
TextBox1.Value = ActiveCell.Value

End Sub

Car je cherche à rentrer la somme des cellules n130 à n132 dans une textbox au demarrage d'un Userform. Mais il me surligne toujours en rouge mon = de =SUM.

Pourriez vous m'aider.
Merci
FAb
 
S

steplof

Guest
Salut Fabrice et bonjour à tous,

pour t'aider un peu voilà comment j'initialiserai l' userform pour obtenir ce que tu veux (somme de n130:n132) dans ta text box:

Private Sub UserForm_Initialize()
For i = 1 To 3
total = total + Cells(129 + i, 14).Value
Next

TextBox1.Value = total

End Sub


Par contre c'est normal que ton code marche pas (au delà de l'utilisation de Sum) car ton text box là va prendre la valeur de ta cellule active .
Tu ne détermines pas ce qui est égal à ta sum
=sum... ne marchera JAMAIS
total= sum .... pourrait peut être marcher...

@+
Steplof
 
F

fabrice

Guest
SAlut

merci pour ta réponse. ca marche super bien. Juste deux autres petites questions qui me viennent à l'esprit.

1) le probleme est que dans le cas que je t'ais soumis, on allait de la cellule 130 à 132. Mais, dans mon UF, j'ajoute une ligne apres la dernier ecrite. Par conséquent, je dois rajouter cette ligne dans ma somme. Par exemple, apres avoir ajouté ma ligne, la somme doit aller de la ligne 130 à 133 (toujours en colonne 14). ESt ce que je dois rajoutter dans mon code une entrée ou l'on sélectionne le debut de la somme (130) et une pour la fin (133). Sinon, exist-il une methode pour que la valeur finale de la somme se décalle automatiquement (sans que la valeur initiale de la somme change)???

2) je fais la somme d'heures, or l'UF me donne le résultats sous la forme d'un monbre quelle est la synthaxe pour que le résultat soit sous forme d'une heure??? Je pense qu'il faut ecrire un truc du genre .format(hh:mm").

Enorme merci de ta réponse.
FAb
 
M

Mytå

Guest
bonsoir le forum


fabice pour ta question 1 pt ceci

Private Sub UserForm_Initialize()
For i = 1 To range("m65535").end(xlup).row
total = total + Cells(129 + i, 14).Value
Next

TextBox1.Value = total

End Sub

Mytå
 
M

Mytå

Guest
bonsoir le forum


Oups petite erreur

Private Sub UserForm_Initialize()
For i = 1 To range("m65535").end(xlup).row-129
total = total + Cells(129 + i, 14).Value
Next

TextBox1.Value = total

End Sub

Mytå
 

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 184
dernier inscrit
amiko