OVH Cloud OVH Cloud

formule vba

10 réponses
Avatar
mathieu
bonjour



voila mon problème je souhaite effectuer une formule de calcul de date en
vba .

exemple nous sommes le 05/01/2004



Ma formule dans Excel est :

=DATE(ANNEE($A$57);MOIS($A$57)+3;JOUR($A$57)-JOUR($A$57)+10)



ce qui me donne cette date:



10/03/2004




comment puis je retransmettre cette date en V.B.A



MERCI DE VOTRE AIDE.



Stéphane

mathieu.stephane1@tiscali.fr

10 réponses

Avatar
Nicolas B.
Salut mathieu,

comment puis je retransmettre cette date en V.B.A


Si c'est pour l'inscrire dans une cellule :
ActiveCell.Formula "ÚTE(YEAR($A$57),MONTH($A$57)+3,DAY($A$57)-DAY($A$57)+10)"

(tu peux d'ailleurs trouver un résultat approchant avec l'enregistreur de
macros)


Si tu veux le mettre en variable dans VBA :
MsgBox DateSerial(Year([A57]), Month([A57]) + 3, Day([A57]) - Day([A57]) +
10)


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


bonjour



voila mon problème je souhaite effectuer une formule de calcul de
date en vba .

exemple nous sommes le 05/01/2004



Ma formule dans Excel est :

ÚTE(ANNEE($A$57);MOIS($A$57)+3;JOUR($A$57)-JOUR($A$57)+10)



ce qui me donne cette date:



10/03/2004




comment puis je retransmettre cette date en V.B.A



MERCI DE VOTRE AIDE.



Stéphane




Avatar
mathieu
merci Nicolas

en fait je viens de créer une petite société et je fait donc des factures
et j'ai des client qui me paye a 30 jours d'autre a 60jours etc.

et sur la facture en pied de page je marque règlement a 30 jours soit le
"date du jour +30 jours.

merci de votre aide

au fait BONNE ANNEE A TOUS

"Nicolas B." a écrit dans le message de
news:
Salut mathieu,

comment puis je retransmettre cette date en V.B.A


Si c'est pour l'inscrire dans une cellule :
ActiveCell.Formula > "ÚTE(YEAR($A$57),MONTH($A$57)+3,DAY($A$57)-DAY($A$57)+10)"

(tu peux d'ailleurs trouver un résultat approchant avec l'enregistreur de
macros)


Si tu veux le mettre en variable dans VBA :
MsgBox DateSerial(Year([A57]), Month([A57]) + 3, Day([A57]) - Day([A57]) +
10)


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


bonjour



voila mon problème je souhaite effectuer une formule de calcul de
date en vba .

exemple nous sommes le 05/01/2004



Ma formule dans Excel est :

ÚTE(ANNEE($A$57);MOIS($A$57)+3;JOUR($A$57)-JOUR($A$57)+10)



ce qui me donne cette date:



10/03/2004




comment puis je retransmettre cette date en V.B.A



MERCI DE VOTRE AIDE.



Stéphane








Avatar
gee-dee-
;-)))
AMHA :

DAY($A$57)-DAY($A$57)+10 est équivalent à 10 !!!!

soit ActiveCell.Formula = "ÚTE(YEAR($A$57),MONTH($A$57)+3,10)
ou
MsgBox DateSerial(Year([A57]), Month([A57]) + 3, 10)

non...?
@+


"Nicolas B." a écrit dans le message de
news:
Salut mathieu,

comment puis je retransmettre cette date en V.B.A


Si c'est pour l'inscrire dans une cellule :
ActiveCell.Formula > "ÚTE(YEAR($A$57),MONTH($A$57)+3,DAY($A$57)-DAY($A$57)+10)"

(tu peux d'ailleurs trouver un résultat approchant avec l'enregistreur de
macros)


Si tu veux le mettre en variable dans VBA :
MsgBox DateSerial(Year([A57]), Month([A57]) + 3, Day([A57]) - Day([A57]) +
10)


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


bonjour



voila mon problème je souhaite effectuer une formule de calcul de
date en vba .

exemple nous sommes le 05/01/2004



Ma formule dans Excel est :

ÚTE(ANNEE($A$57);MOIS($A$57)+3;JOUR($A$57)-JOUR($A$57)+10)



ce qui me donne cette date:



10/03/2004




comment puis je retransmettre cette date en V.B.A



MERCI DE VOTRE AIDE.



Stéphane








Avatar
Nicolas B.
Salut geedee,

AMHA :

DAY($A$57)-DAY($A$57)+10 est équivalent à 10 !!!!


M'enfin, j'ai pourtant répondu à la question...

...;JOUR($A$57)-JOUR($A$57)+10)


...question qui n'a en effet pas de sens ;-)


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


;-)))
AMHA :

DAY($A$57)-DAY($A$57)+10 est équivalent à 10 !!!!

soit ActiveCell.Formula = "ÚTE(YEAR($A$57),MONTH($A$57)+3,10)
ou
MsgBox DateSerial(Year([A57]), Month([A57]) + 3, 10)

non...?
@+


"Nicolas B." a écrit dans le
message de news:
Salut mathieu,

comment puis je retransmettre cette date en V.B.A


Si c'est pour l'inscrire dans une cellule :
ActiveCell.Formula >> "ÚTE(YEAR($A$57),MONTH($A$57)+3,DAY($A$57)-DAY($A$57)+10)"

(tu peux d'ailleurs trouver un résultat approchant avec
l'enregistreur de macros)


Si tu veux le mettre en variable dans VBA :
MsgBox DateSerial(Year([A57]), Month([A57]) + 3, Day([A57]) -
Day([A57]) + 10)


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


bonjour



voila mon problème je souhaite effectuer une formule de calcul de
date en vba .

exemple nous sommes le 05/01/2004



Ma formule dans Excel est :

ÚTE(ANNEE($A$57);MOIS($A$57)+3;JOUR($A$57)-JOUR($A$57)+10)



ce qui me donne cette date:



10/03/2004




comment puis je retransmettre cette date en V.B.A



MERCI DE VOTRE AIDE.



Stéphane








Avatar
Nicolas B.
Cette macro t'insère le pied de page :

Sub PiedPage()
Dim Jours
Dim Jusque

Jours = 30 'ou 60, ça dépend
Jusque = Date + Jours 'Date de paiement

ActiveSheet.PageSetup.CenterFooter = "Règlement à " & Jours _
& " jours, soit le " & Jusque & "."
End Sub


au fait BONNE ANNEE A TOUS
A toi aussi (et à tous les autres)



A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


merci Nicolas

en fait je viens de créer une petite société et je fait donc des
factures et j'ai des client qui me paye a 30 jours d'autre a 60jours
etc.

et sur la facture en pied de page je marque règlement a 30 jours soit
le "date du jour +30 jours.

merci de votre aide

au fait BONNE ANNEE A TOUS

"Nicolas B." a écrit dans le
message de news:
Salut mathieu,

comment puis je retransmettre cette date en V.B.A


Si c'est pour l'inscrire dans une cellule :
ActiveCell.Formula >> "ÚTE(YEAR($A$57),MONTH($A$57)+3,DAY($A$57)-DAY($A$57)+10)"

(tu peux d'ailleurs trouver un résultat approchant avec
l'enregistreur de macros)


Si tu veux le mettre en variable dans VBA :
MsgBox DateSerial(Year([A57]), Month([A57]) + 3, Day([A57]) -
Day([A57]) + 10)


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


bonjour



voila mon problème je souhaite effectuer une formule de calcul de
date en vba .

exemple nous sommes le 05/01/2004



Ma formule dans Excel est :

ÚTE(ANNEE($A$57);MOIS($A$57)+3;JOUR($A$57)-JOUR($A$57)+10)



ce qui me donne cette date:



10/03/2004




comment puis je retransmettre cette date en V.B.A



MERCI DE VOTRE AIDE.



Stéphane








Avatar
mathieu
merci
mais cette macro est bien pour des facture a 30 ou 60 jours

mais que ce passe t'il lorsque mon client veux régler a 30 ou 60 jours FIN
DE MOIS.

je développe:

je fait une facture aujourd'hui soit le 05/01/2004 +30 jours soit le
04/02/2004
mais fin du mois soit le 29/02/2004.


"Nicolas B." a écrit dans le message de
news:
Cette macro t'insère le pied de page :

Sub PiedPage()
Dim Jours
Dim Jusque

Jours = 30 'ou 60, ça dépend
Jusque = Date + Jours 'Date de paiement

ActiveSheet.PageSetup.CenterFooter = "Règlement à " & Jours _
& " jours, soit le " & Jusque & "."
End Sub


au fait BONNE ANNEE A TOUS
A toi aussi (et à tous les autres)



A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


merci Nicolas

en fait je viens de créer une petite société et je fait donc des
factures et j'ai des client qui me paye a 30 jours d'autre a 60jours
etc.

et sur la facture en pied de page je marque règlement a 30 jours soit
le "date du jour +30 jours.

merci de votre aide

au fait BONNE ANNEE A TOUS

"Nicolas B." a écrit dans le
message de news:
Salut mathieu,

comment puis je retransmettre cette date en V.B.A


Si c'est pour l'inscrire dans une cellule :
ActiveCell.Formula > >> "ÚTE(YEAR($A$57),MONTH($A$57)+3,DAY($A$57)-DAY($A$57)+10)"

(tu peux d'ailleurs trouver un résultat approchant avec
l'enregistreur de macros)


Si tu veux le mettre en variable dans VBA :
MsgBox DateSerial(Year([A57]), Month([A57]) + 3, Day([A57]) -
Day([A57]) + 10)


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


bonjour



voila mon problème je souhaite effectuer une formule de calcul de
date en vba .

exemple nous sommes le 05/01/2004



Ma formule dans Excel est :

ÚTE(ANNEE($A$57);MOIS($A$57)+3;JOUR($A$57)-JOUR($A$57)+10)



ce qui me donne cette date:



10/03/2004




comment puis je retransmettre cette date en V.B.A



MERCI DE VOTRE AIDE.



Stéphane












Avatar
Jacquouille
Bon JOUR() Mathieu
En premier lieu, chez moi, j'obtiens a57 + 3 mois = avril et non mars, mais
il s'agit sûrement d'une orthogaffe -))

Ensuite, pour jour(a57)-jour(a57)+10, tu pourrais simplifier comme ceci:
ÚTE(ANNEE($A$57);MOIS($A$57)+3;JOUR(10))
et tu obtiendras quand même le 10° jour trois mois plus tard......
Bonne chance
--
Jacquouille conseille : http://www.excelabo.net


"mathieu" a écrit dans le message news:

bonjour



voila mon problème je souhaite effectuer une formule de calcul de date en
vba .

exemple nous sommes le 05/01/2004



Ma formule dans Excel est :

ÚTE(ANNEE($A$57);MOIS($A$57)+3;JOUR($A$57)-JOUR($A$57)+10)



ce qui me donne cette date:



10/03/2004




comment puis je retransmettre cette date en V.B.A



MERCI DE VOTRE AIDE.



Stéphane







Avatar
Daniel.M
MauvaisJour() pour toi Jacquouille, ;-)

ÚTE(ANNEE($A$57);MOIS($A$57)+3;JOUR(10))


JOUR(10) n'égale pas toujours 10. Spécialement avec un calendrier 1904 ;-))

Il vaut mieux:
ÚTE(ANNEE($A$57);MOIS($A$57)+3;10)

Salutations,

Daniel M.

Avatar
Nicolas B.
Lorsque le paiement s'effectue à la fin du mois, mets la valeur de Jours à
0.

Sub PiedPage()
Dim Jours As Long
Dim Jusque As Date

Jours = 0 'ou 60 ou 0 pour fin de mois
Jusque = Date + Jours 'Date de paiement

If Jours = 0 Then
Jusque = DateSerial(Year(Jusque), Month(Jusque) + 1, 1) - 1
ActiveSheet.PageSetup.CenterFooter = _
"Règlement à la fin du mois, soit le " & Jusque & "."
Else
ActiveSheet.PageSetup.CenterFooter = "Règlement à " _
& Jours & " jours, soit le " & Jusque & "."
End If
End Sub


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


merci
mais cette macro est bien pour des facture a 30 ou 60 jours

mais que ce passe t'il lorsque mon client veux régler a 30 ou 60
jours FIN DE MOIS.

je développe:

je fait une facture aujourd'hui soit le 05/01/2004 +30 jours soit le
04/02/2004
mais fin du mois soit le 29/02/2004.


"Nicolas B." a écrit dans le
message de news:
Cette macro t'insère le pied de page :

Sub PiedPage()
Dim Jours
Dim Jusque

Jours = 30 'ou 60, ça dépend
Jusque = Date + Jours 'Date de paiement

ActiveSheet.PageSetup.CenterFooter = "Règlement à " & Jours _
& " jours, soit le " & Jusque & "."
End Sub


au fait BONNE ANNEE A TOUS
A toi aussi (et à tous les autres)



A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


merci Nicolas

en fait je viens de créer une petite société et je fait donc des
factures et j'ai des client qui me paye a 30 jours d'autre a 60jours
etc.

et sur la facture en pied de page je marque règlement a 30 jours
soit le "date du jour +30 jours.

merci de votre aide

au fait BONNE ANNEE A TOUS

"Nicolas B." a écrit dans le
message de news:
Salut mathieu,

comment puis je retransmettre cette date en V.B.A


Si c'est pour l'inscrire dans une cellule :
ActiveCell.Formula >>>> "ÚTE(YEAR($A$57),MONTH($A$57)+3,DAY($A$57)-DAY($A$57)+10)"

(tu peux d'ailleurs trouver un résultat approchant avec
l'enregistreur de macros)


Si tu veux le mettre en variable dans VBA :
MsgBox DateSerial(Year([A57]), Month([A57]) + 3, Day([A57]) -
Day([A57]) + 10)


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


bonjour



voila mon problème je souhaite effectuer une formule de calcul de
date en vba .

exemple nous sommes le 05/01/2004



Ma formule dans Excel est :

ÚTE(ANNEE($A$57);MOIS($A$57)+3;JOUR($A$57)-JOUR($A$57)+10)



ce qui me donne cette date:



10/03/2004




comment puis je retransmettre cette date en V.B.A



MERCI DE VOTRE AIDE.



Stéphane












Avatar
Jacquouille
Ben tu vois qu'il y a toujours moyen de faire mieux et plus petit.
Ainsi donc, il n'est pas utile de mentionner JOUR() ?
Merci de me l'avoir appris.

--
Jacquouille conseille : http://www.excelabo.net


"Daniel.M" a écrit dans le message news:

MauvaisJour() pour toi Jacquouille, ;-)

ÚTE(ANNEE($A$57);MOIS($A$57)+3;JOUR(10))


JOUR(10) n'égale pas toujours 10. Spécialement avec un calendrier 1904
;-))


Il vaut mieux:
ÚTE(ANNEE($A$57);MOIS($A$57)+3;10)

Salutations,

Daniel M.