variable vba et fonction excel - VB/VBA/VBS - Programmation
Marsh Posté le 06-07-2009 à 14:51:14
dadaking a écrit : "a"= txtDateDebut.value |
T'as pas mis ça exactement dans ton code quand même ?
Car c'est impossible ça. L'inverse oui mais tu peux pas changer la valeur de la lettre "a".
Ou alors c'est une faute de frappe et tu voulais dire : a = txtDateDebut.value ?
Marsh Posté le 06-07-2009 à 14:54:10
c'est effectivement une erreur de frappe de ma part... j'ai mis :
a = txtDatedebut.value
excuse-moi pour cette erreur de saisie
Marsh Posté le 06-07-2009 à 15:04:07
C'est quoi les types de a et b ? Et c'est quoi le problème exactement ? Ca compile pas, ça met une erreur à l'éxécution, ... ?
Marsh Posté le 06-07-2009 à 15:17:22
mes variable sont de type date. le pb est que je n'arrive pas à prendre en considération cette période (entre a et b) dans ma formule SUMPRODUCT
voici ce que j'ai mis comme code
"=SUMPRODUCT(('[Fact_2009.xls]Individuelles'!R3C8:R165C8=""MUR"" )*(a<='[Fact_2009.xls]Individuelles'!r3c1:r165c1<=b)*('[Fact_2009.xls]Individuelles'!R3C12:R165C12))
Comme résultat il me met : #NOM?
Marsh Posté le 06-07-2009 à 15:25:24
à la place de a et b essaye de mettre un truc du genre : DATEVAL("xx/xx/xxxx" ) en remplaçant bien entendu les xx par la date que tu veux.
Marsh Posté le 06-07-2009 à 15:29:57
j'avais bien pensé à ça mais le problème est que je ne veux pas que la période soit en dure dans le code : il faut que ça marche quelque soit la période mise (d'où l'utilisation d'un userform pour la saisie des dates de début et de fin de période)
Marsh Posté le 06-07-2009 à 15:38:24
Alors fais un DATEVAL d'une variable string qui contiendrait la date entrée. Ca te va pas ça ?
Marsh Posté le 06-07-2009 à 15:51:24
je mets un truc du style :
dim a as string
dim b as string
a = txtDateDebut.value
b = txtDateFin.value
"=SUMPRODUCT(('Fact_2009....=""MUR"" )*(dateval(a)<='[Fact_2009...<=dateval(b))*(...)
je suis dans le vrai ou pas?
Excuse-moi de te harceler mais je débute en vba...
Marsh Posté le 06-07-2009 à 17:06:47
Bah si tu testes ça ça marche ou pas ?
Je ne sais pas si Excel est sensible à la casse mais dans le doute je mettrai DATEVAL en majuscule.
Marsh Posté le 06-07-2009 à 18:07:07
j'ai essayé les deux versions (majuscules et minuscules) et ça ne marche pas....
Merci quand même de m'avoir aidé.
Marsh Posté le 06-07-2009 à 14:47:00
Bonjour,
J’ai un tableau qui recense des factures émises depuis le début de l'année quelque soit leur devise d'émission (JPY, USD, EUR, etc..).
Je voudrais qu'il me calcule la somme par devise et par lieu d'émission (siège ou agence) pour une période donnée. Pour cela, j'ai créé un userform dans lequel on rentre les dates de début et fin de période (champs que j'aie appelé : txtDateDebut et txtDateFin)
Pour les 2 premières conditions (sans prise en compte de la période), il n'y a aucun problème : la fonction SOMMEPROD (SUMPRODUCT en VBA) fait très bien l'affaire. Par contre, je n'arrive pas à introduire dans la formule les dates de début et fin de période. J'ai essayé de créer 2 variables :
"a"= txtDateDebut.value
"b"= txtDatefin.value
Quelqu'un saurait-il comment faire pour résoudre ce problème de prise en compte de la période dans le calcul?
D'avance merci