Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

somme dans une plage

7 réponses
Avatar
yan
bonjour à tous
Si dans une procédure j'écris
s = selection.count
j'ai le nombre de valeur dans ma sélection
je voudrais calculer la somme dans ma sélection alors j'ai écrit
s = selection.sum mais ça marche pas
C'est quoi le bonne syntaxe
Merci
Yan

7 réponses

Avatar
Corona
Bonjour Yan,
S = Application.WorksheetFunction.Sum(Selection)
Philippe Tulliez

yan a écrit :
bonjour à tous
Si dans une procédure j'écris
s = selection.count
j'ai le nombre de valeur dans ma sélection
je voudrais calculer la somme dans ma sélection alors j'ai écrit
s = selection.sum mais ça marche pas
C'est quoi le bonne syntaxe
Merci
Yan


Avatar
FFO
salut à toi

Je mettrais comme ceci :

For each c in selection
s = s+c
Next
Msgbox(s)
Avatar
JB
Bonjour,

s = Application.Sum(Selection)

JB

On 9 déc, 11:24, "yan" <xyx.orange.fr> wrote:
bonjour tous
Si dans une proc dure j' cris
s = selection.count
j'ai le nombre de valeur dans ma s lection
je voudrais calculer la somme dans ma s lection alors j'ai crit
s = selection.sum  mais a marche pas
C'est quoi le bonne syntaxe
Merci
Yan


Avatar
LSteph
Bonjour,

Hou lalalala

dans ton cas précis essaye slon cet exemple mais....
'''''
Sub tst()
On Error GoTo hndErr1
MsgBox WorksheetFunction.Sum(Selection)
On Error GoTo 0
'...
Exit Sub
hndErr1:
MsgBox "La selection doit être une plage de cellules"

End Sub
''''

...mais attention
Dans ta question, il y a deja confusion à la base
S'agissant de VBA .count dénombre les éléments d'une collection
d'objets
si ces objets sont eux même propriété par défaut d'un autre
objet .count dénombrera par défaut cette classe d'objet.

Dans le cas d'une plage de cellules .count par defaut s'applique aux
cellules
donc il ne compte pas les valeurs mais les cellules
Ne pas confondre non plus la propriété avec la fonction de feuille de
calcul

WorksheetFunction.Count(Selection) 'renverra non plus le nb de cellule
mais de cellules remplies d'une valeur
WorksheetFunction.CountA(Selection) '...........idem mais cette
fois d'une valeur ou d'un texte

Par ailleurs s'il est très vivement déconseillé d'utiliser select
outre des cas particuliers objets , graphiques
c'est une instruction inutile en vba sur des plages de cellules
pour selection c'est par extension qu'on prendra soin de s'en passer
dans la plupart des cas.

Un Range peut être effectivement la selection mais qu'on prendra soin
de désigner clairement plutôt que de devoir sélectionner.Et si c'est à
la selection courante par l'utilisateur qu'on veut appliquer une proc,
il faudra s'assurer qu'il s'agit bien d'une plage et pas d'un autre
objet.

Cordialement.

--
lSteph






On 9 déc, 11:24, "yan" <xyx.orange.fr> wrote:
bonjour tous
Si dans une proc dure j' cris
s = selection.count
j'ai le nombre de valeur dans ma s lection
je voudrais calculer la somme dans ma s lection alors j'ai crit
s = selection.sum  mais a marche pas
C'est quoi le bonne syntaxe
Merci
Yan


Avatar
Caetera
"FFO" a écrit dans le message de news:

Je mettrais comme ceci :
For each c in selection
s = s+c
Next
Msgbox(s)



C'est grandiose....
Avatar
yan
bonsoir
Merci à toi
Yan

"Corona" a écrit dans le message de
news:%

Bonjour Yan,
S = Application.WorksheetFunction.Sum(Selection) Philippe Tulliez

yan a écrit :
bonjour à tous
Si dans une procédure j'écris
s = selection.count
j'ai le nombre de valeur dans ma sélection
je voudrais calculer la somme dans ma sélection alors j'ai écrit
s = selection.sum mais ça marche pas
C'est quoi le bonne syntaxe
Merci
Yan




Avatar
FFO
Merci !!!!

"Caetera" wrote:

"FFO" a écrit dans le message de news:

>Je mettrais comme ceci :
>For each c in selection
>s = s+c
>Next
>Msgbox(s)

C'est grandiose....


.