|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : novembre 2006 Messages : 84 ![]() |
j'ai un tableau avec ce genre de formule :
=Somme(<Montant>Où (<Année>=2007)) cela fonctionne très bien pour cette année, mais l'année prochaine ce ne sera plus bon. j'ai voulu mettre : =Somme(<Montant>Où (<Année>=Année(DateCourante()))) et là j'ai l'erreur DMB0007 et je n'arrive pas à contourner cette erreur !! avez vous une idée ?? |
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : avril 2003 Messages : 71 ![]() |
Il me semble (mais à confirmer) que la variable Où ne s'utilise que avec la syntaxe :
Où indicateur = constante Du coup quand on a uns syntaxe du genre Où indicateur = fonction ça fonctionne pas Je m'étais galérée pas mal sur ce fameux "Où" pour finalement ne pas l'utiliser |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : août 2006 Messages : 73 ![]() |
Bonjour,
Effectivement, "Où" ne fonctionne qu'avec une constante, mais cet opérateur est incontournable pour effectuer des comparatifs Année / Année-1. La solution se trouve dans VBA, il faut reconstruire la formule avec quelques lignes de code qui seront déclanchées par l'évènement "AfterRefresh" du document. Le principe consiste à récupérer la valeur de l'année (en général passée en invite dans ce type de document) puis en déclarant des variables objet de type "DocumentVariable" et en utilisant leur propriété "Formula" . J'ai beaucoup de tableaux qui fonctionnent sur ce principe et ça marche nickel, à chaque changement de période je ne me pose plus de question, tout est automatique. Cordialement Sergio |
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : novembre 2006 Messages : 84 ![]() |
je ne suis pas encore un grand spécialiste du vba dans bo mais je vais essayer ta solution.
a suivre ... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com