Bonjour,
J'ai besoin de vos lumières sur un comportement bizar de la fonction DSUM
attribuée à une cellule avec VBA.
J'ai une petite appli excel qui créer (entre autre) une nouvelle feuille,
copie des données (noms) sur cette feuille et attribue à une case la fonction
DSUM (propriété formula d'un objet range).
Lorsque je fais ça : range("A1").formula="=DSUM(range;field;criteria)" ça
marche pas (erreur)
et lorsque je fais ça : range("A1").formula="DSUM(range;field;criteria)" et
qu'ensuite sur la feuille j'ajoute manuellement le = ça marche???
Petite précision : au départ le résultat de DSUM vaut 0. En effet sur ma
feuille j'ai une liste de personne représentant chacun une valeur (tantième),
au fur et à mesure que les gens arrivent (à l'AG pour ceux qui devinent) je
met une croix en face de leur nom et je veux que la case DSUM compte le nb de
tantièmes qui sont arrivés.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AV
Remplace les points-virgules par des virgules : range("A1").formula="=DSUM(range;field;criteria)" ==>> range("A1").formula="=DSUM(range,field,criteria)"
AV
Remplace les points-virgules par des virgules :
range("A1").formula="=DSUM(range;field;criteria)"
==>>
range("A1").formula="=DSUM(range,field,criteria)"
Remplace les points-virgules par des virgules : range("A1").formula="=DSUM(range;field;criteria)" ==>> range("A1").formula="=DSUM(range,field,criteria)"
AV
CAP2
Salut,
As-tu nécessairement besoin de VBA ?
Sinon, tu peux comptabiliser simplement comme ça (partant du principe que tu coches en mettant des X) :
=NB.SI(A1:A50;"X")
A adapter à ta plage de noms...
Ca marche ?
CAP2
Salut,
As-tu nécessairement besoin de VBA ?
Sinon, tu peux comptabiliser simplement comme ça (partant du principe que tu
coches en mettant des X) :
Sinon, tu peux comptabiliser simplement comme ça (partant du principe que tu coches en mettant des X) :
=NB.SI(A1:A50;"X")
A adapter à ta plage de noms...
Ca marche ?
CAP2
Morgan
Salut,
As-tu nécessairement besoin de VBA ? Oui car la liste des gens est susceptible d'évoluer au cours de l'AG et
chaque feuille correspond a une résolution.
Sinon, tu peux comptabiliser simplement comme ça (partant du principe que tu coches en mettant des X) :
=NB.SI(A1:A50;"X") oui mais ici je coche le nb de personnes or chaque personne n'a pas le même
'poids' et c'est ce poids que je veux comptabilisé.
A adapter à ta plage de noms...
Ca marche ?
CAP2
Pour AV plus haut la syntaxe de ce que je fais est correcte (dans Excel ici ce sont des fautes de frappe) puisque lorsque je met le = manuellement la fonction me renvoi le resultat escompté, le problemeest : pourquoi est-ce que avec VBA ça marche pas?
Salut,
As-tu nécessairement besoin de VBA ?
Oui car la liste des gens est susceptible d'évoluer au cours de l'AG et
chaque feuille correspond a une résolution.
Sinon, tu peux comptabiliser simplement comme ça (partant du principe que tu
coches en mettant des X) :
=NB.SI(A1:A50;"X")
oui mais ici je coche le nb de personnes or chaque personne n'a pas le même
'poids' et c'est ce poids que je veux comptabilisé.
A adapter à ta plage de noms...
Ca marche ?
CAP2
Pour AV plus haut la syntaxe de ce que je fais est correcte (dans Excel ici
ce sont des fautes de frappe) puisque lorsque je met le = manuellement la
fonction me renvoi le resultat escompté, le problemeest :
pourquoi est-ce que avec VBA ça marche pas?
As-tu nécessairement besoin de VBA ? Oui car la liste des gens est susceptible d'évoluer au cours de l'AG et
chaque feuille correspond a une résolution.
Sinon, tu peux comptabiliser simplement comme ça (partant du principe que tu coches en mettant des X) :
=NB.SI(A1:A50;"X") oui mais ici je coche le nb de personnes or chaque personne n'a pas le même
'poids' et c'est ce poids que je veux comptabilisé.
A adapter à ta plage de noms...
Ca marche ?
CAP2
Pour AV plus haut la syntaxe de ce que je fais est correcte (dans Excel ici ce sont des fautes de frappe) puisque lorsque je met le = manuellement la fonction me renvoi le resultat escompté, le problemeest : pourquoi est-ce que avec VBA ça marche pas?
CAP2
Pourrais-tu nous passer le code pour qu'on puisse mieux voir y réfléchir ?
CAP2
Pourrais-tu nous passer le code pour qu'on puisse mieux voir y réfléchir ?
Pourrais-tu nous passer le code pour qu'on puisse mieux voir y réfléchir ?
CAP2
Morgan
Pourrais-tu nous passer le code pour qu'on puisse mieux voir y réfléchir ?
CAP2
Toutes mes excuses à AV sa solution fonctionne (je n'avais même pas vérifié, bouhouhou)
Mais maintenant j'aimerais bien qu'on m'explique pourquoi la formule s'écrit DSUM(rang;field;criteria) dans une case excel sinon erreure et qu'il faut écrire DSUM(range,field,criteria) dans son utilisation VBA sinon erreur.
Merci en tout cas j'ai résolu mon problème!
Morgan
Pourrais-tu nous passer le code pour qu'on puisse mieux voir y réfléchir ?
CAP2
Toutes mes excuses à AV sa solution fonctionne (je n'avais même pas vérifié,
bouhouhou)
Mais maintenant j'aimerais bien qu'on m'explique pourquoi la formule s'écrit
DSUM(rang;field;criteria) dans une case excel sinon erreure et qu'il faut
écrire DSUM(range,field,criteria) dans son utilisation VBA sinon erreur.
Pourrais-tu nous passer le code pour qu'on puisse mieux voir y réfléchir ?
CAP2
Toutes mes excuses à AV sa solution fonctionne (je n'avais même pas vérifié, bouhouhou)
Mais maintenant j'aimerais bien qu'on m'explique pourquoi la formule s'écrit DSUM(rang;field;criteria) dans une case excel sinon erreure et qu'il faut écrire DSUM(range,field,criteria) dans son utilisation VBA sinon erreur.
Merci en tout cas j'ai résolu mon problème!
Morgan
CAP2
Le fait est que les fonctions de calcul VBA demandent une séparation des arguments par des virgules, ce qui doit venir du fait que lorsqu'on crée une fonction via VBA, on sépare les arguments attendus ainsi :
Function toto(Arg1 as zzzz, Arg2 as zzzz,......) toto=zzzzzzzzzzzzzzzzz End Function
Les fonctions EXCEL (certaines fonctions VBA n'existent pas sur EXCEL, et vice-versa) demandent quent à elles une séparation des arguments par des points-virgules...
Ce n'est pas une explication, mais juste une constatation...
Les excelliens corrigeront ou complèteront ;o))
CAP2
Le fait est que les fonctions de calcul VBA demandent une séparation des
arguments par des virgules, ce qui doit venir du fait que lorsqu'on crée une
fonction via VBA, on sépare les arguments attendus ainsi :
Function toto(Arg1 as zzzz, Arg2 as zzzz,......)
toto=zzzzzzzzzzzzzzzzz
End Function
Les fonctions EXCEL (certaines fonctions VBA n'existent pas sur EXCEL, et
vice-versa) demandent quent à elles une séparation des arguments par des
points-virgules...
Ce n'est pas une explication, mais juste une constatation...
Le fait est que les fonctions de calcul VBA demandent une séparation des arguments par des virgules, ce qui doit venir du fait que lorsqu'on crée une fonction via VBA, on sépare les arguments attendus ainsi :
Function toto(Arg1 as zzzz, Arg2 as zzzz,......) toto=zzzzzzzzzzzzzzzzz End Function
Les fonctions EXCEL (certaines fonctions VBA n'existent pas sur EXCEL, et vice-versa) demandent quent à elles une séparation des arguments par des points-virgules...
Ce n'est pas une explication, mais juste une constatation...