Dans un classeur, j'ai 2 feuilles (Reg et Cour par exemple) reprenant
environ 2500 lignes chacunes. Sachant que mes 2 feuilles ne sont pas
triées et afin de faire une recherche sur 2 critères, j'essaye
d'utiliser sommeprod.
Dans la feuille Cour, dans la colonne C, j'ai une formule (en C2)
SOMMEPROD((Reg!Reg_id=A2)*(Reg!Reg_date_fin>AUJOURDHUI());Reg!Reg_date_fin)
Ok, je pense obtenir le bon résultat.
Maintenant, plutôt que de passer par des formules, je souhaiterais
passer par vba en balayant la page Reg et écrire en dur dans la colonne
C de Reg le résultat de la même formule ... je n'y arrive pas, pouvez
vous m'aider ?
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
michdenis
D'abord je n'ai rien compris de ce que tu veux faire ... mais à tout hasard, si tu veux obtenir le résultat dans une variable en vba pour le copier dans une cellule, il y a quelque chose comme ceci :
c = [SumProduct((Reg!Reg_id¢)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] Range("adresse de ta cellule") = c
"-=lolol=-" a écrit dans le message de groupe de discussion : Bonjour,
Dans un classeur, j'ai 2 feuilles (Reg et Cour par exemple) reprenant environ 2500 lignes chacunes. Sachant que mes 2 feuilles ne sont pas triées et afin de faire une recherche sur 2 critères, j'essaye d'utiliser sommeprod.
Dans la feuille Cour, dans la colonne C, j'ai une formule (en C2) SOMMEPROD((Reg!Reg_id¢)*(Reg!Reg_date_fin>AUJOURDHUI());Reg!Reg_date_fin) Ok, je pense obtenir le bon résultat.
Maintenant, plutôt que de passer par des formules, je souhaiterais passer par vba en balayant la page Reg et écrire en dur dans la colonne C de Reg le résultat de la même formule ... je n'y arrive pas, pouvez vous m'aider ?
Par avance merci @+lolo
D'abord je n'ai rien compris de ce que tu veux faire ...
mais à tout hasard, si tu veux obtenir le résultat dans
une variable en vba pour le copier dans une cellule, il y
a quelque chose comme ceci :
c = [SumProduct((Reg!Reg_id¢)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)]
Range("adresse de ta cellule") = c
"-=lolol=-" <florent.dillacSANSPUB@SANSPUBfree.fr> a écrit dans le message de groupe de
discussion : mn.9a837d92208858ef.94802@SANSPUBfree.fr...
Bonjour,
Dans un classeur, j'ai 2 feuilles (Reg et Cour par exemple) reprenant
environ 2500 lignes chacunes. Sachant que mes 2 feuilles ne sont pas
triées et afin de faire une recherche sur 2 critères, j'essaye
d'utiliser sommeprod.
Dans la feuille Cour, dans la colonne C, j'ai une formule (en C2)
SOMMEPROD((Reg!Reg_id¢)*(Reg!Reg_date_fin>AUJOURDHUI());Reg!Reg_date_fin)
Ok, je pense obtenir le bon résultat.
Maintenant, plutôt que de passer par des formules, je souhaiterais
passer par vba en balayant la page Reg et écrire en dur dans la colonne
C de Reg le résultat de la même formule ... je n'y arrive pas, pouvez
vous m'aider ?
D'abord je n'ai rien compris de ce que tu veux faire ... mais à tout hasard, si tu veux obtenir le résultat dans une variable en vba pour le copier dans une cellule, il y a quelque chose comme ceci :
c = [SumProduct((Reg!Reg_id¢)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] Range("adresse de ta cellule") = c
"-=lolol=-" a écrit dans le message de groupe de discussion : Bonjour,
Dans un classeur, j'ai 2 feuilles (Reg et Cour par exemple) reprenant environ 2500 lignes chacunes. Sachant que mes 2 feuilles ne sont pas triées et afin de faire une recherche sur 2 critères, j'essaye d'utiliser sommeprod.
Dans la feuille Cour, dans la colonne C, j'ai une formule (en C2) SOMMEPROD((Reg!Reg_id¢)*(Reg!Reg_date_fin>AUJOURDHUI());Reg!Reg_date_fin) Ok, je pense obtenir le bon résultat.
Maintenant, plutôt que de passer par des formules, je souhaiterais passer par vba en balayant la page Reg et écrire en dur dans la colonne C de Reg le résultat de la même formule ... je n'y arrive pas, pouvez vous m'aider ?
Par avance merci @+lolo
-=lolol=-
Bonjour michdenis,
Pardonne moi cette question incomplète, mais le problème m'est difficile à expliqué.
Dans la feuille Cour Dans la feuille Reg ColA ColB ColA ColB id Validation id date fin 1 1 27/02/2009 2 5 16/05/2008 5 2 25/12/1999 12 12 27/06/2010 6 2 25/03/2009 ... ...
Dans la feuille Cour, dans la colonne validation, je voudrais écrire la date de fin de l'id ColA qu'on peut trouver sur la feuille Reg: - si elle existe - et si la date de fin supérieure à aujourd'hui
Dans Reg, il peut y avoir plusieurs fois le même id avec des dates différentes, je veux savoir s'il y a au moins une ligne avec le bon id et une date supérieur à aujourd'hui.
Par exemple en B3, SOMMEPROD((Reg!Reg_id£)*(Reg!Reg_date_fin>AUJOURDHUI());Reg!Reg_date_fin)
c = [SumProduct((Reg!Reg_id¢)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] Range("adresse de ta cellule") = c
C'est un première bonne chose :-) mais lorsque je boucle sur les valeurs de Cour, comment inclure NumLigne dans ta formule ?
For NumLigne = Range("A65536").End(xlUp).Row To 2 Step -1 Test = [SumProduct((Reg!Reg_id£0)*(Reg!Reg_date_fin
TODAY()),Reg!Reg_date_fin)]
.... Next NumLigne
J'ai essayé Test = [SumProduct((Reg!Reg_id=A& NumLigne &30)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] sans succès :-(
Peut être y a t'il moyen de faire plus élégament ... peut être avec un for each ... j'y arrive pas :-(
Merci pour ton aide et ta patience @+lolo
Bonjour michdenis,
Pardonne moi cette question incomplète, mais le problème m'est
difficile à expliqué.
Dans la feuille Cour Dans la feuille Reg
ColA ColB ColA ColB
id Validation id date fin
1 1 27/02/2009
2 5 16/05/2008
5 2 25/12/1999
12 12 27/06/2010
6 2 25/03/2009
... ...
Dans la feuille Cour, dans la colonne validation, je voudrais écrire la
date de fin de l'id ColA qu'on peut trouver sur la feuille Reg:
- si elle existe
- et si la date de fin supérieure à aujourd'hui
Dans Reg, il peut y avoir plusieurs fois le même id avec des dates
différentes, je veux savoir s'il y a au moins une ligne avec le bon id
et une date supérieur à aujourd'hui.
Par exemple en B3,
SOMMEPROD((Reg!Reg_id£)*(Reg!Reg_date_fin>AUJOURDHUI());Reg!Reg_date_fin)
c = [SumProduct((Reg!Reg_id¢)*(Reg!Reg_date_fin
>TODAY()),Reg!Reg_date_fin)]
Range("adresse de ta cellule") = c
C'est un première bonne chose :-) mais lorsque je boucle sur les
valeurs de Cour, comment inclure NumLigne dans ta formule ?
For NumLigne = Range("A65536").End(xlUp).Row To 2 Step -1
Test = [SumProduct((Reg!Reg_id£0)*(Reg!Reg_date_fin
TODAY()),Reg!Reg_date_fin)]
....
Next NumLigne
J'ai essayé Test = [SumProduct((Reg!Reg_id=A& NumLigne
&30)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] sans succès :-(
Peut être y a t'il moyen de faire plus élégament ... peut être avec un
for each ... j'y arrive pas :-(
Pardonne moi cette question incomplète, mais le problème m'est difficile à expliqué.
Dans la feuille Cour Dans la feuille Reg ColA ColB ColA ColB id Validation id date fin 1 1 27/02/2009 2 5 16/05/2008 5 2 25/12/1999 12 12 27/06/2010 6 2 25/03/2009 ... ...
Dans la feuille Cour, dans la colonne validation, je voudrais écrire la date de fin de l'id ColA qu'on peut trouver sur la feuille Reg: - si elle existe - et si la date de fin supérieure à aujourd'hui
Dans Reg, il peut y avoir plusieurs fois le même id avec des dates différentes, je veux savoir s'il y a au moins une ligne avec le bon id et une date supérieur à aujourd'hui.
Par exemple en B3, SOMMEPROD((Reg!Reg_id£)*(Reg!Reg_date_fin>AUJOURDHUI());Reg!Reg_date_fin)
c = [SumProduct((Reg!Reg_id¢)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] Range("adresse de ta cellule") = c
C'est un première bonne chose :-) mais lorsque je boucle sur les valeurs de Cour, comment inclure NumLigne dans ta formule ?
For NumLigne = Range("A65536").End(xlUp).Row To 2 Step -1 Test = [SumProduct((Reg!Reg_id£0)*(Reg!Reg_date_fin
TODAY()),Reg!Reg_date_fin)]
.... Next NumLigne
J'ai essayé Test = [SumProduct((Reg!Reg_id=A& NumLigne &30)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] sans succès :-(
Peut être y a t'il moyen de faire plus élégament ... peut être avec un for each ... j'y arrive pas :-(
Merci pour ton aide et ta patience @+lolo
michdenis
'Si tu connais la plage de cellules 'où tu veux copier la formule '---------------------------------- Sub test()
Dim Rg As Range 'Détermine la plage où tu veux copier 'Attribution de la plage à une variable objet range Set Rg = Range("G1:G5") 'Copie de la formule dans la plage Rg.Formula = "=SumProduct((Reg!Reg_id=" & _ Rg(1).Address(0, 0) & _ ")*(Reg!Reg_date_fin>TODAY()),Reg!Reg_date_fin)" Set Rg = Nothing End Sub '----------------------------------
Si tu veux avoir le résultat d'une formule dans la fenêtre VBA ou copier cette formule dans une cellule. '-------------------------- Sub test() Dim Ligne As Long, D as String, C Ligne = 25 ' Tu détermine la valeur de la ligne d = "=SumProduct((Reg!Reg_id=A" & Ligne & ")*(Reg!Reg_date_fin>TODAY()),Reg!Reg_date_fin)"
'Si tu veux avoir le résultat dans la variable C c = Evaluate(d)
'Pour copier la formule dans la cellule G1 Range("g1").Formula = d
End Sub '--------------------------
"-=lolol=-" a écrit dans le message de groupe de discussion : Bonjour michdenis,
Pardonne moi cette question incomplète, mais le problème m'est difficile à expliqué.
Dans la feuille Cour Dans la feuille Reg ColA ColB ColA ColB id Validation id date fin 1 1 27/02/2009 2 5 16/05/2008 5 2 25/12/1999 12 12 27/06/2010 6 2 25/03/2009 ... ...
Dans la feuille Cour, dans la colonne validation, je voudrais écrire la date de fin de l'id ColA qu'on peut trouver sur la feuille Reg: - si elle existe - et si la date de fin supérieure à aujourd'hui
Dans Reg, il peut y avoir plusieurs fois le même id avec des dates différentes, je veux savoir s'il y a au moins une ligne avec le bon id et une date supérieur à aujourd'hui.
Par exemple en B3, SOMMEPROD((Reg!Reg_id£)*(Reg!Reg_date_fin>AUJOURDHUI());Reg!Reg_date_fin)
c = [SumProduct((Reg!Reg_id¢)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] Range("adresse de ta cellule") = c
C'est un première bonne chose :-) mais lorsque je boucle sur les valeurs de Cour, comment inclure NumLigne dans ta formule ?
For NumLigne = Range("A65536").End(xlUp).Row To 2 Step -1 Test = [SumProduct((Reg!Reg_id£0)*(Reg!Reg_date_fin
TODAY()),Reg!Reg_date_fin)]
.... Next NumLigne
J'ai essayé Test = [SumProduct((Reg!Reg_id=A& NumLigne &30)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] sans succès :-(
Peut être y a t'il moyen de faire plus élégament ... peut être avec un for each ... j'y arrive pas :-(
Merci pour ton aide et ta patience @+lolo
'Si tu connais la plage de cellules
'où tu veux copier la formule
'----------------------------------
Sub test()
Dim Rg As Range
'Détermine la plage où tu veux copier
'Attribution de la plage à une variable objet range
Set Rg = Range("G1:G5")
'Copie de la formule dans la plage
Rg.Formula = "=SumProduct((Reg!Reg_id=" & _
Rg(1).Address(0, 0) & _
")*(Reg!Reg_date_fin>TODAY()),Reg!Reg_date_fin)"
Set Rg = Nothing
End Sub
'----------------------------------
Si tu veux avoir le résultat d'une formule dans la fenêtre VBA
ou copier cette formule dans une cellule.
'--------------------------
Sub test()
Dim Ligne As Long, D as String, C
Ligne = 25 ' Tu détermine la valeur de la ligne
d = "=SumProduct((Reg!Reg_id=A" & Ligne & ")*(Reg!Reg_date_fin>TODAY()),Reg!Reg_date_fin)"
'Si tu veux avoir le résultat dans la variable C
c = Evaluate(d)
'Pour copier la formule dans la cellule G1
Range("g1").Formula = d
End Sub
'--------------------------
"-=lolol=-" <florent.dillacSANSPUB@SANSPUBfree.fr> a écrit dans le message de groupe de
discussion : mn.9b7c7d92c1549602.94802@SANSPUBfree.fr...
Bonjour michdenis,
Pardonne moi cette question incomplète, mais le problème m'est
difficile à expliqué.
Dans la feuille Cour Dans la feuille Reg
ColA ColB ColA ColB
id Validation id date fin
1 1 27/02/2009
2 5 16/05/2008
5 2 25/12/1999
12 12 27/06/2010
6 2 25/03/2009
... ...
Dans la feuille Cour, dans la colonne validation, je voudrais écrire la
date de fin de l'id ColA qu'on peut trouver sur la feuille Reg:
- si elle existe
- et si la date de fin supérieure à aujourd'hui
Dans Reg, il peut y avoir plusieurs fois le même id avec des dates
différentes, je veux savoir s'il y a au moins une ligne avec le bon id
et une date supérieur à aujourd'hui.
Par exemple en B3,
SOMMEPROD((Reg!Reg_id£)*(Reg!Reg_date_fin>AUJOURDHUI());Reg!Reg_date_fin)
c = [SumProduct((Reg!Reg_id¢)*(Reg!Reg_date_fin
>TODAY()),Reg!Reg_date_fin)]
Range("adresse de ta cellule") = c
C'est un première bonne chose :-) mais lorsque je boucle sur les
valeurs de Cour, comment inclure NumLigne dans ta formule ?
For NumLigne = Range("A65536").End(xlUp).Row To 2 Step -1
Test = [SumProduct((Reg!Reg_id£0)*(Reg!Reg_date_fin
TODAY()),Reg!Reg_date_fin)]
....
Next NumLigne
J'ai essayé Test = [SumProduct((Reg!Reg_id=A& NumLigne
&30)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] sans succès :-(
Peut être y a t'il moyen de faire plus élégament ... peut être avec un
for each ... j'y arrive pas :-(
'Si tu connais la plage de cellules 'où tu veux copier la formule '---------------------------------- Sub test()
Dim Rg As Range 'Détermine la plage où tu veux copier 'Attribution de la plage à une variable objet range Set Rg = Range("G1:G5") 'Copie de la formule dans la plage Rg.Formula = "=SumProduct((Reg!Reg_id=" & _ Rg(1).Address(0, 0) & _ ")*(Reg!Reg_date_fin>TODAY()),Reg!Reg_date_fin)" Set Rg = Nothing End Sub '----------------------------------
Si tu veux avoir le résultat d'une formule dans la fenêtre VBA ou copier cette formule dans une cellule. '-------------------------- Sub test() Dim Ligne As Long, D as String, C Ligne = 25 ' Tu détermine la valeur de la ligne d = "=SumProduct((Reg!Reg_id=A" & Ligne & ")*(Reg!Reg_date_fin>TODAY()),Reg!Reg_date_fin)"
'Si tu veux avoir le résultat dans la variable C c = Evaluate(d)
'Pour copier la formule dans la cellule G1 Range("g1").Formula = d
End Sub '--------------------------
"-=lolol=-" a écrit dans le message de groupe de discussion : Bonjour michdenis,
Pardonne moi cette question incomplète, mais le problème m'est difficile à expliqué.
Dans la feuille Cour Dans la feuille Reg ColA ColB ColA ColB id Validation id date fin 1 1 27/02/2009 2 5 16/05/2008 5 2 25/12/1999 12 12 27/06/2010 6 2 25/03/2009 ... ...
Dans la feuille Cour, dans la colonne validation, je voudrais écrire la date de fin de l'id ColA qu'on peut trouver sur la feuille Reg: - si elle existe - et si la date de fin supérieure à aujourd'hui
Dans Reg, il peut y avoir plusieurs fois le même id avec des dates différentes, je veux savoir s'il y a au moins une ligne avec le bon id et une date supérieur à aujourd'hui.
Par exemple en B3, SOMMEPROD((Reg!Reg_id£)*(Reg!Reg_date_fin>AUJOURDHUI());Reg!Reg_date_fin)
c = [SumProduct((Reg!Reg_id¢)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] Range("adresse de ta cellule") = c
C'est un première bonne chose :-) mais lorsque je boucle sur les valeurs de Cour, comment inclure NumLigne dans ta formule ?
For NumLigne = Range("A65536").End(xlUp).Row To 2 Step -1 Test = [SumProduct((Reg!Reg_id£0)*(Reg!Reg_date_fin
TODAY()),Reg!Reg_date_fin)]
.... Next NumLigne
J'ai essayé Test = [SumProduct((Reg!Reg_id=A& NumLigne &30)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] sans succès :-(
Peut être y a t'il moyen de faire plus élégament ... peut être avec un for each ... j'y arrive pas :-(
Merci pour ton aide et ta patience @+lolo
-=lolol=-
Bonsoir,
Super, je fais avec ça :-)
Mille mercis
@+lolo
... Si tu veux avoir le résultat d'une formule dans la fenêtre VBA ou copier cette formule dans une cellule. '-------------------------- Sub test() Dim Ligne As Long, D as String, C Ligne = 25 ' Tu détermine la valeur de la ligne d = "=SumProduct((Reg!Reg_id=A" & Ligne & ")*(Reg!Reg_date_fin>TODAY()),Reg!Reg_date_fin)"
'Si tu veux avoir le résultat dans la variable C c = Evaluate(d)
'Pour copier la formule dans la cellule G1 Range("g1").Formula = d
End Sub '--------------------------
"-=lolol=-" a écrit dans le message de groupe de discussion : Bonjour michdenis,
Pardonne moi cette question incomplète, mais le problème m'est difficile à expliqué.
Dans la feuille Cour Dans la feuille Reg ColA ColB ColA ColB id Validation id date fin 1 1 27/02/2009 2 5 16/05/2008 5 2 25/12/1999 12 12 27/06/2010 6 2 25/03/2009 ... ...
Dans la feuille Cour, dans la colonne validation, je voudrais écrire la date de fin de l'id ColA qu'on peut trouver sur la feuille Reg: - si elle existe - et si la date de fin supérieure à aujourd'hui
Dans Reg, il peut y avoir plusieurs fois le même id avec des dates différentes, je veux savoir s'il y a au moins une ligne avec le bon id et une date supérieur à aujourd'hui.
Par exemple en B3, SOMMEPROD((Reg!Reg_id£)*(Reg!Reg_date_fin>AUJOURDHUI());Reg!Reg_date_fin)
c = [SumProduct((Reg!Reg_id¢)*(Reg!Reg_date_fin
TODAY()),Reg!Reg_date_fin)]
Range("adresse de ta cellule") = c
C'est un première bonne chose :-) mais lorsque je boucle sur les valeurs de Cour, comment inclure NumLigne dans ta formule ?
For NumLigne = Range("A65536").End(xlUp).Row To 2 Step -1 Test = [SumProduct((Reg!Reg_id£0)*(Reg!Reg_date_fin
TODAY()),Reg!Reg_date_fin)]
.... Next NumLigne
J'ai essayé Test = [SumProduct((Reg!Reg_id=A& NumLigne &30)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] sans succès :-(
Peut être y a t'il moyen de faire plus élégament ... peut être avec un for each ... j'y arrive pas :-(
Merci pour ton aide et ta patience @+lolo
Bonsoir,
Super, je fais avec ça :-)
Mille mercis
@+lolo
...
Si tu veux avoir le résultat d'une formule dans la fenêtre VBA
ou copier cette formule dans une cellule.
'--------------------------
Sub test()
Dim Ligne As Long, D as String, C
Ligne = 25 ' Tu détermine la valeur de la ligne
d = "=SumProduct((Reg!Reg_id=A" & Ligne &
")*(Reg!Reg_date_fin>TODAY()),Reg!Reg_date_fin)"
'Si tu veux avoir le résultat dans la variable C
c = Evaluate(d)
'Pour copier la formule dans la cellule G1
Range("g1").Formula = d
End Sub
'--------------------------
"-=lolol=-" <florent.dillacSANSPUB@SANSPUBfree.fr> a écrit dans le message de
groupe de discussion : mn.9b7c7d92c1549602.94802@SANSPUBfree.fr...
Bonjour michdenis,
Pardonne moi cette question incomplète, mais le problème m'est
difficile à expliqué.
Dans la feuille Cour Dans la feuille Reg
ColA ColB ColA ColB
id Validation id date fin
1 1 27/02/2009
2 5 16/05/2008
5 2 25/12/1999
12 12 27/06/2010
6 2 25/03/2009
... ...
Dans la feuille Cour, dans la colonne validation, je voudrais écrire la
date de fin de l'id ColA qu'on peut trouver sur la feuille Reg:
- si elle existe
- et si la date de fin supérieure à aujourd'hui
Dans Reg, il peut y avoir plusieurs fois le même id avec des dates
différentes, je veux savoir s'il y a au moins une ligne avec le bon id
et une date supérieur à aujourd'hui.
Par exemple en B3,
SOMMEPROD((Reg!Reg_id£)*(Reg!Reg_date_fin>AUJOURDHUI());Reg!Reg_date_fin)
c = [SumProduct((Reg!Reg_id¢)*(Reg!Reg_date_fin
TODAY()),Reg!Reg_date_fin)]
Range("adresse de ta cellule") = c
C'est un première bonne chose :-) mais lorsque je boucle sur les
valeurs de Cour, comment inclure NumLigne dans ta formule ?
For NumLigne = Range("A65536").End(xlUp).Row To 2 Step -1
Test = [SumProduct((Reg!Reg_id£0)*(Reg!Reg_date_fin
TODAY()),Reg!Reg_date_fin)]
....
Next NumLigne
J'ai essayé Test = [SumProduct((Reg!Reg_id=A& NumLigne
&30)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] sans succès :-(
Peut être y a t'il moyen de faire plus élégament ... peut être avec un
for each ... j'y arrive pas :-(
... Si tu veux avoir le résultat d'une formule dans la fenêtre VBA ou copier cette formule dans une cellule. '-------------------------- Sub test() Dim Ligne As Long, D as String, C Ligne = 25 ' Tu détermine la valeur de la ligne d = "=SumProduct((Reg!Reg_id=A" & Ligne & ")*(Reg!Reg_date_fin>TODAY()),Reg!Reg_date_fin)"
'Si tu veux avoir le résultat dans la variable C c = Evaluate(d)
'Pour copier la formule dans la cellule G1 Range("g1").Formula = d
End Sub '--------------------------
"-=lolol=-" a écrit dans le message de groupe de discussion : Bonjour michdenis,
Pardonne moi cette question incomplète, mais le problème m'est difficile à expliqué.
Dans la feuille Cour Dans la feuille Reg ColA ColB ColA ColB id Validation id date fin 1 1 27/02/2009 2 5 16/05/2008 5 2 25/12/1999 12 12 27/06/2010 6 2 25/03/2009 ... ...
Dans la feuille Cour, dans la colonne validation, je voudrais écrire la date de fin de l'id ColA qu'on peut trouver sur la feuille Reg: - si elle existe - et si la date de fin supérieure à aujourd'hui
Dans Reg, il peut y avoir plusieurs fois le même id avec des dates différentes, je veux savoir s'il y a au moins une ligne avec le bon id et une date supérieur à aujourd'hui.
Par exemple en B3, SOMMEPROD((Reg!Reg_id£)*(Reg!Reg_date_fin>AUJOURDHUI());Reg!Reg_date_fin)
c = [SumProduct((Reg!Reg_id¢)*(Reg!Reg_date_fin
TODAY()),Reg!Reg_date_fin)]
Range("adresse de ta cellule") = c
C'est un première bonne chose :-) mais lorsque je boucle sur les valeurs de Cour, comment inclure NumLigne dans ta formule ?
For NumLigne = Range("A65536").End(xlUp).Row To 2 Step -1 Test = [SumProduct((Reg!Reg_id£0)*(Reg!Reg_date_fin
TODAY()),Reg!Reg_date_fin)]
.... Next NumLigne
J'ai essayé Test = [SumProduct((Reg!Reg_id=A& NumLigne &30)*(Reg!Reg_date_fin >TODAY()),Reg!Reg_date_fin)] sans succès :-(
Peut être y a t'il moyen de faire plus élégament ... peut être avec un for each ... j'y arrive pas :-(