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

Somme et VBA EXcel

6 réponses
Avatar
jcalz
Bonjour
Win XP SP3 àjour
office 2003 SP3

je voudrais écrire une ligne VBA du genre

x=somme(A1:A12)
afin de pouvoir récupérer le nombre x
Je n'y arrive pas!!! :(
Cordialement
jc

6 réponses

Avatar
LSteph
Bonjour,

x = WorksheetFunction.Sum([A1:A12])

--
lSteph

jcalz a écrit :
Bonjour
Win XP SP3 àjour
office 2003 SP3

je voudrais écrire une ligne VBA du genre

x=somme(A1:A12)
afin de pouvoir récupérer le nombre x
Je n'y arrive pas!!! :(
Cordialement
jc




Avatar
MichDenis
Bonjour LSteph,

Si tu veux utiliser des crochets, pourquoi pas ceci :

x = [sum(a1:B1)]

Je recommande plutôt celle-ci
x = [sum(Feuil1!a1:Feuil1!B1)]

Mais le plus compréhensible demeure ceci :
x = Application.Sum(Range("A1:B1"))

;-)
Avatar
LSteph
Bonjour MD,

je suis d'accord sur le principe
pour le code et dans ce cas c'est plus simple!

Toutefois pour être un peu pédagogique je préfère indiquer..
...ce que j'ai indiqué!...pourquoi..?...

...lorsqu'on tape WorksheetFunction.
on obtient automatiquement (au besoin Ctrl+space) la complétion par
l'ensemble des fonctions de feuille de calcul disponible depuis VBA

lorsque quelqu'un pose la question d'utiliser "somme" c'est qu'il ne
pouvait pas connaître cela donc il voit en même temps que sum est (comme
vba) en anglais et que WorksheetFunction donne l'ensemble de ces fonctions.

Salutations amicales.

;-)

--
lSteph



MichDenis a écrit :
Bonjour LSteph,

Si tu veux utiliser des crochets, pourquoi pas ceci :

x = [sum(a1:B1)]

Je recommande plutôt celle-ci
x = [sum(Feuil1!a1:Feuil1!B1)]

Mais le plus compréhensible demeure ceci :
x = Application.Sum(Range("A1:B1"))

;-)





Avatar
MichDenis
| Toutefois pour être un peu pédagogique je préfère indiquer..
| ...ce que j'ai indiqué!...pourquoi..?...

Il aurait été préférable que tu indiques ceci :
Application.WorksheetFunction.Sum()

Et que tu dises du même coup, qu'une des fonction les plus utilisées
"Match" est problématique si utilisée avec WorksheetFunction et
qu'avec cette dernière, Application.Match() est préférable...

Mais comme tu dis, tu as un bon point, je reconnais.
Avatar
LSteph
... je le reçois avec plaisir , mais comme tu indiques maintenant..
je m'en octroie également un mauvais!

;-)

Merci des tes toujours bien précieux et éclairés conseils!

--
Stéphane

("Ne jamais oublier d'indiquer l'objet parent")

MichDenis a écrit :
| Toutefois pour être un peu pédagogique je préfère indiquer..
| ...ce que j'ai indiqué!...pourquoi..?...

Il aurait été préférable que tu indiques ceci :
Application.WorksheetFunction.Sum()

Et que tu dises du même coup, qu'une des fonction les plus utilisées
"Match" est problématique si utilisée avec WorksheetFunction et
qu'avec cette dernière, Application.Match() est préférable...

Mais comme tu dis, tu as un bon point, je reconnais.




Avatar
jcalz
Re
Et bien moi je vous accorde un bon point à tous les deux
pour la réponse et un autre pour la discussion
Cordialement