Bonsoir,
Je cherche une macro qui permette dans un formulaire Word, de calculer une
date de fin de mois équivalente à la fonction mois.decaler sous Excel.
Exemple : saisie de la date de début : 30.06.2005
Nb mois : 2
La macro doit renvoyer 31.07.2005 comme résultat.
Merci de votre précieuse aide.
Jeff
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
Geo
Bonjour Jeff
Bonsoir, Je cherche une macro qui permette dans un formulaire Word, de calculer une date de fin de mois équivalente à la fonction mois.decaler sous Excel. Exemple : saisie de la date de début : 30.06.2005 Nb mois : 2 La macro doit renvoyer 31.07.2005 comme résultat. Merci de votre précieuse aide.
Tout est possible ou presque avec Word, il suffit d'être un agriculteur de haut niveau, ou autrement dit expert en culture des champs, mais pour un utilisateur normal qui veut normalement pas être embêté, il vaut mieux utiliser Excel pour les calculs et Word pour le traitement de texte.
-- Geo de la pallice
Bonjour Jeff
Bonsoir,
Je cherche une macro qui permette dans un formulaire Word, de
calculer une date de fin de mois équivalente à la fonction
mois.decaler sous Excel. Exemple : saisie de la date de début :
30.06.2005
Nb mois : 2
La macro doit renvoyer 31.07.2005 comme résultat.
Merci de votre précieuse aide.
Tout est possible ou presque avec Word, il suffit d'être un agriculteur de
haut niveau, ou autrement dit expert en culture des champs, mais pour un
utilisateur normal qui veut normalement pas être embêté, il vaut mieux
utiliser Excel pour les calculs et Word pour le traitement de texte.
Bonsoir, Je cherche une macro qui permette dans un formulaire Word, de calculer une date de fin de mois équivalente à la fonction mois.decaler sous Excel. Exemple : saisie de la date de début : 30.06.2005 Nb mois : 2 La macro doit renvoyer 31.07.2005 comme résultat. Merci de votre précieuse aide.
Tout est possible ou presque avec Word, il suffit d'être un agriculteur de haut niveau, ou autrement dit expert en culture des champs, mais pour un utilisateur normal qui veut normalement pas être embêté, il vaut mieux utiliser Excel pour les calculs et Word pour le traitement de texte.
-- Geo de la pallice
Anacoluthe
Bonjour !
'jfv' nous a écrit ...
Je cherche une macro qui permette dans un formulaire Word, de calculer une date de fin de mois équivalente à la fonction mois.decaler sous Excel. Exemple : saisie de la date de début : 30.06.2005 Nb mois : 2 La macro doit renvoyer 31.07.2005 comme résultat.
Geo a raison : Word est nullissime en calcul de dates !
Il faut effectivement utiliser VBA Soit deux champs de formulaire de signets Date1 et Date2 et la macro suivante :
Public Sub Plus2Mois() With ActiveDocument.FormFields If IsDate(.Item("Date1").Result) Then .Item("Date2").Result = DateAdd("M", 2, .Item("Date1").Result) End If End With End Sub
Le champ Date2 calculé affiche automatiquement Date1 + 2 mois
Si vous voulez que la date soit décalée au dernier jour du mois, il faudra une formule un peu plus compliquée que le simple DateAdd() mais c'est faisable aussi.
Anacoluthe « J'aime les calculs faux, car ils donnent des résultats plus justes. » - Jean ARP
Bonjour !
'jfv' nous a écrit ...
Je cherche une macro qui permette dans un formulaire Word, de calculer une
date de fin de mois équivalente à la fonction mois.decaler sous Excel.
Exemple : saisie de la date de début : 30.06.2005
Nb mois : 2
La macro doit renvoyer 31.07.2005 comme résultat.
Geo a raison : Word est nullissime en calcul de dates !
Il faut effectivement utiliser VBA
Soit deux champs de formulaire de signets Date1 et Date2
et la macro suivante :
Public Sub Plus2Mois()
With ActiveDocument.FormFields
If IsDate(.Item("Date1").Result) Then
.Item("Date2").Result = DateAdd("M", 2, .Item("Date1").Result)
End If
End With
End Sub
Le champ Date2 calculé affiche automatiquement Date1 + 2 mois
Si vous voulez que la date soit décalée au dernier jour du
mois, il faudra une formule un peu plus compliquée que
le simple DateAdd() mais c'est faisable aussi.
Anacoluthe
« J'aime les calculs faux, car ils donnent des résultats
plus justes. »
- Jean ARP
Je cherche une macro qui permette dans un formulaire Word, de calculer une date de fin de mois équivalente à la fonction mois.decaler sous Excel. Exemple : saisie de la date de début : 30.06.2005 Nb mois : 2 La macro doit renvoyer 31.07.2005 comme résultat.
Geo a raison : Word est nullissime en calcul de dates !
Il faut effectivement utiliser VBA Soit deux champs de formulaire de signets Date1 et Date2 et la macro suivante :
Public Sub Plus2Mois() With ActiveDocument.FormFields If IsDate(.Item("Date1").Result) Then .Item("Date2").Result = DateAdd("M", 2, .Item("Date1").Result) End If End With End Sub
Le champ Date2 calculé affiche automatiquement Date1 + 2 mois
Si vous voulez que la date soit décalée au dernier jour du mois, il faudra une formule un peu plus compliquée que le simple DateAdd() mais c'est faisable aussi.
Anacoluthe « J'aime les calculs faux, car ils donnent des résultats plus justes. » - Jean ARP
jfv
Bonjour,
Merci à Anacoluthe, votre macro fonctionne parfaitement et résout mon prob. Mais comment la compléter de manière à ce que "Date2" soit systématiquement calculée avec le dernier jour du mois en question ? Merci par avance de votre aide.
Bonjour !
'jfv' nous a écrit ...
Je cherche une macro qui permette dans un formulaire Word, de calculer une date de fin de mois équivalente à la fonction mois.decaler sous Excel. Exemple : saisie de la date de début : 30.06.2005 Nb mois : 2 La macro doit renvoyer 31.07.2005 comme résultat.
Geo a raison : Word est nullissime en calcul de dates !
Il faut effectivement utiliser VBA Soit deux champs de formulaire de signets Date1 et Date2 et la macro suivante :
Public Sub Plus2Mois() With ActiveDocument.FormFields If IsDate(.Item("Date1").Result) Then ..Item("Date2").Result = DateAdd("M", 2, .Item("Date1").Result) End If End With End Sub
Le champ Date2 calculé affiche automatiquement Date1 + 2 mois
Si vous voulez que la date soit décalée au dernier jour du mois, il faudra une formule un peu plus compliquée que le simple DateAdd() mais c'est faisable aussi.
Anacoluthe « J'aime les calculs faux, car ils donnent des résultats plus justes. » - Jean ARP
Bonjour,
Merci à Anacoluthe, votre macro fonctionne parfaitement et résout mon prob.
Mais comment la compléter de manière à ce que "Date2" soit systématiquement
calculée avec le dernier jour du mois en question ?
Merci par avance de votre aide.
Bonjour !
'jfv' nous a écrit ...
Je cherche une macro qui permette dans un formulaire Word, de calculer une
date de fin de mois équivalente à la fonction mois.decaler sous Excel.
Exemple : saisie de la date de début : 30.06.2005
Nb mois : 2
La macro doit renvoyer 31.07.2005 comme résultat.
Geo a raison : Word est nullissime en calcul de dates !
Il faut effectivement utiliser VBA
Soit deux champs de formulaire de signets Date1 et Date2
et la macro suivante :
Public Sub Plus2Mois()
With ActiveDocument.FormFields
If IsDate(.Item("Date1").Result) Then
..Item("Date2").Result = DateAdd("M", 2, .Item("Date1").Result)
End If
End With
End Sub
Le champ Date2 calculé affiche automatiquement Date1 + 2 mois
Si vous voulez que la date soit décalée au dernier jour du
mois, il faudra une formule un peu plus compliquée que
le simple DateAdd() mais c'est faisable aussi.
Anacoluthe
« J'aime les calculs faux, car ils donnent des résultats
plus justes. »
- Jean ARP
Merci à Anacoluthe, votre macro fonctionne parfaitement et résout mon prob. Mais comment la compléter de manière à ce que "Date2" soit systématiquement calculée avec le dernier jour du mois en question ? Merci par avance de votre aide.
Bonjour !
'jfv' nous a écrit ...
Je cherche une macro qui permette dans un formulaire Word, de calculer une date de fin de mois équivalente à la fonction mois.decaler sous Excel. Exemple : saisie de la date de début : 30.06.2005 Nb mois : 2 La macro doit renvoyer 31.07.2005 comme résultat.
Geo a raison : Word est nullissime en calcul de dates !
Il faut effectivement utiliser VBA Soit deux champs de formulaire de signets Date1 et Date2 et la macro suivante :
Public Sub Plus2Mois() With ActiveDocument.FormFields If IsDate(.Item("Date1").Result) Then ..Item("Date2").Result = DateAdd("M", 2, .Item("Date1").Result) End If End With End Sub
Le champ Date2 calculé affiche automatiquement Date1 + 2 mois
Si vous voulez que la date soit décalée au dernier jour du mois, il faudra une formule un peu plus compliquée que le simple DateAdd() mais c'est faisable aussi.
Anacoluthe « J'aime les calculs faux, car ils donnent des résultats plus justes. » - Jean ARP
Anacoluthe
Bonjour !
'jfv' nous a écrit ...
Merci à Anacoluthe, votre macro fonctionne parfaitement et résout mon prob. Mais comment la compléter de manière à ce que "Date2" soit systématiquement calculée avec le dernier jour du mois en question ?
Si vous souhaitez obtenir systématiquement le dernier jour d'un mois utilisez la veille du premier jour (toujours 1) du mois suivant !
Supposons que pour toute date du mois, vous souhaitiez obtenir le dernier jour du 2ème mois suivant, écrivez :
Public Sub Plus2Mois() With ActiveDocument.FormFields If IsDate(.Item("Date1").Result) Then .Item("Date2").Result = DateAdd("d", -1, _ DateAdd("m", 3, "01/" & Format(.Item("Date1").Result, "mm/yyyy"))) End If End With End Sub
C'est plus proche de ce que vous vouliez ?
Anacoluthe « J'aime les calculs faux, car ils donnent des résultats plus justes. » - Jean ARP
Bonjour !
'jfv' nous a écrit ...
Merci à Anacoluthe, votre macro fonctionne parfaitement et résout mon prob.
Mais comment la compléter de manière à ce que "Date2" soit systématiquement
calculée avec le dernier jour du mois en question ?
Si vous souhaitez obtenir systématiquement le dernier jour d'un mois
utilisez la veille du premier jour (toujours 1) du mois suivant !
Supposons que pour toute date du mois, vous souhaitiez obtenir
le dernier jour du 2ème mois suivant, écrivez :
Public Sub Plus2Mois()
With ActiveDocument.FormFields
If IsDate(.Item("Date1").Result) Then
.Item("Date2").Result = DateAdd("d", -1, _
DateAdd("m", 3, "01/" & Format(.Item("Date1").Result, "mm/yyyy")))
End If
End With
End Sub
C'est plus proche de ce que vous vouliez ?
Anacoluthe
« J'aime les calculs faux, car ils donnent des résultats
plus justes. »
- Jean ARP
Merci à Anacoluthe, votre macro fonctionne parfaitement et résout mon prob. Mais comment la compléter de manière à ce que "Date2" soit systématiquement calculée avec le dernier jour du mois en question ?
Si vous souhaitez obtenir systématiquement le dernier jour d'un mois utilisez la veille du premier jour (toujours 1) du mois suivant !
Supposons que pour toute date du mois, vous souhaitiez obtenir le dernier jour du 2ème mois suivant, écrivez :
Public Sub Plus2Mois() With ActiveDocument.FormFields If IsDate(.Item("Date1").Result) Then .Item("Date2").Result = DateAdd("d", -1, _ DateAdd("m", 3, "01/" & Format(.Item("Date1").Result, "mm/yyyy"))) End If End With End Sub
C'est plus proche de ce que vous vouliez ?
Anacoluthe « J'aime les calculs faux, car ils donnent des résultats plus justes. » - Jean ARP
jfv
Bonjour Anacoluthe,
Oui, votre macro affiche le résultat recherché. Merci bcp de votre peine. Au plaisir.
Bonjour !
'jfv' nous a écrit ...
Merci à Anacoluthe, votre macro fonctionne parfaitement et résout mon prob. Mais comment la compléter de manière à ce que "Date2" soit systématiquement calculée avec le dernier jour du mois en question ?
Si vous souhaitez obtenir systématiquement le dernier jour d'un mois utilisez la veille du premier jour (toujours 1) du mois suivant !
Supposons que pour toute date du mois, vous souhaitiez obtenir le dernier jour du 2ème mois suivant, écrivez :
Public Sub Plus2Mois() With ActiveDocument.FormFields If IsDate(.Item("Date1").Result) Then ..Item("Date2").Result = DateAdd("d", -1, _ DateAdd("m", 3, "01/" & Format(.Item("Date1").Result, "mm/yyyy"))) End If End With End Sub
C'est plus proche de ce que vous vouliez ?
Anacoluthe « J'aime les calculs faux, car ils donnent des résultats plus justes. » - Jean ARP
Bonjour Anacoluthe,
Oui, votre macro affiche le résultat recherché. Merci bcp de votre peine.
Au plaisir.
Bonjour !
'jfv' nous a écrit ...
Merci à Anacoluthe, votre macro fonctionne parfaitement et résout mon prob.
Mais comment la compléter de manière à ce que "Date2" soit systématiquement
calculée avec le dernier jour du mois en question ?
Si vous souhaitez obtenir systématiquement le dernier jour d'un mois
utilisez la veille du premier jour (toujours 1) du mois suivant !
Supposons que pour toute date du mois, vous souhaitiez obtenir
le dernier jour du 2ème mois suivant, écrivez :
Public Sub Plus2Mois()
With ActiveDocument.FormFields
If IsDate(.Item("Date1").Result) Then
..Item("Date2").Result = DateAdd("d", -1, _
DateAdd("m", 3, "01/" & Format(.Item("Date1").Result, "mm/yyyy")))
End If
End With
End Sub
C'est plus proche de ce que vous vouliez ?
Anacoluthe
« J'aime les calculs faux, car ils donnent des résultats
plus justes. »
- Jean ARP
Oui, votre macro affiche le résultat recherché. Merci bcp de votre peine. Au plaisir.
Bonjour !
'jfv' nous a écrit ...
Merci à Anacoluthe, votre macro fonctionne parfaitement et résout mon prob. Mais comment la compléter de manière à ce que "Date2" soit systématiquement calculée avec le dernier jour du mois en question ?
Si vous souhaitez obtenir systématiquement le dernier jour d'un mois utilisez la veille du premier jour (toujours 1) du mois suivant !
Supposons que pour toute date du mois, vous souhaitiez obtenir le dernier jour du 2ème mois suivant, écrivez :
Public Sub Plus2Mois() With ActiveDocument.FormFields If IsDate(.Item("Date1").Result) Then ..Item("Date2").Result = DateAdd("d", -1, _ DateAdd("m", 3, "01/" & Format(.Item("Date1").Result, "mm/yyyy"))) End If End With End Sub
C'est plus proche de ce que vous vouliez ?
Anacoluthe « J'aime les calculs faux, car ils donnent des résultats plus justes. » - Jean ARP