je voudrais remplacer la fonction mois.decaler =MOIS.DECALER(D7;C8) par une
fonction personnalisee batie sur le modele suivant :
=DATE(ANNEE(D7);MOIS(D7)+C8;JOUR(D7)) , ceci afin d'eviter d'utiliser la
macro complementaire d'analyse qui est necessaire pour que mois.decaler
fonctionne
mais j'ai un peu de mal dans l'ecriture de la fonction personnalisee :
Function moisdecale(dat, decalage)
Application.Volatile True
moisdecale = Application.WorksheetFunction.Date(Year(dat), Month(dat) +
decalage, Day(dat))
End Function
Bonsoir. Mets "DateSerial" à la place de "Date". "Date" utilisée sans argument donne la date du système. Cordialement. Daniel "Boursicot" a écrit dans le message de news: 44f35d67$0$11814$
Bonjour à tous,
je voudrais remplacer la fonction mois.decaler =MOIS.DECALER(D7;C8) par une fonction personnalisee batie sur le modele suivant :
ÚTE(ANNEE(D7);MOIS(D7)+C8;JOUR(D7)) , ceci afin d'eviter d'utiliser la macro complementaire d'analyse qui est necessaire pour que mois.decaler fonctionne
mais j'ai un peu de mal dans l'ecriture de la fonction personnalisee :
Function moisdecale(dat, decalage) Application.Volatile True moisdecale = Application.WorksheetFunction.Date(Year(dat), Month(dat) + decalage, Day(dat)) End Function
ne fonctionne pas Que faut il que je modifie ?
merci par avance
Boursicot
Bonsoir.
Mets "DateSerial" à la place de "Date". "Date" utilisée sans argument donne
la date du système.
Cordialement.
Daniel
"Boursicot" <nospam_takron@free.fr> a écrit dans le message de news:
44f35d67$0$11814$636a55ce@news.free.fr...
Bonjour à tous,
je voudrais remplacer la fonction mois.decaler =MOIS.DECALER(D7;C8) par
une fonction personnalisee batie sur le modele suivant :
ÚTE(ANNEE(D7);MOIS(D7)+C8;JOUR(D7)) , ceci afin d'eviter d'utiliser la
macro complementaire d'analyse qui est necessaire pour que mois.decaler
fonctionne
mais j'ai un peu de mal dans l'ecriture de la fonction personnalisee :
Function moisdecale(dat, decalage)
Application.Volatile True
moisdecale = Application.WorksheetFunction.Date(Year(dat), Month(dat) +
decalage, Day(dat))
End Function
Bonsoir. Mets "DateSerial" à la place de "Date". "Date" utilisée sans argument donne la date du système. Cordialement. Daniel "Boursicot" a écrit dans le message de news: 44f35d67$0$11814$
Bonjour à tous,
je voudrais remplacer la fonction mois.decaler =MOIS.DECALER(D7;C8) par une fonction personnalisee batie sur le modele suivant :
ÚTE(ANNEE(D7);MOIS(D7)+C8;JOUR(D7)) , ceci afin d'eviter d'utiliser la macro complementaire d'analyse qui est necessaire pour que mois.decaler fonctionne
mais j'ai un peu de mal dans l'ecriture de la fonction personnalisee :
Function moisdecale(dat, decalage) Application.Volatile True moisdecale = Application.WorksheetFunction.Date(Year(dat), Month(dat) + decalage, Day(dat)) End Function
ne fonctionne pas Que faut il que je modifie ?
merci par avance
Boursicot
AV
Bien que dans le cas présent, l'utilisation de DateSerial suffise amplement et soit plus simple de maiement, si tu veux utiliser les fonctions de feuille de calcul, passe par la fonction Evaluate
Function moisdecale(dat, decalage) Application.Volatile True: dat = dat * 1 moisdecale = Evaluate("date(year(" & dat & "), Month(" & dat & ") + " & decalage & ", Day(" & dat & "))") End Function
ou
Function moisdecale(dat, decalage) Application.Volatile True moisdecale= DateSerial(Year(dat), Month(dat) + decalage, Day(dat)) End Function
AV
Bien que dans le cas présent, l'utilisation de DateSerial suffise
amplement et soit plus simple de maiement, si tu veux utiliser les fonctions de
feuille de calcul, passe par la fonction Evaluate
Function moisdecale(dat, decalage)
Application.Volatile True: dat = dat * 1
moisdecale = Evaluate("date(year(" & dat & "), Month(" & dat & ") + " &
decalage & ", Day(" & dat & "))")
End Function
ou
Function moisdecale(dat, decalage)
Application.Volatile True
moisdecale= DateSerial(Year(dat), Month(dat) + decalage, Day(dat))
End Function
Bien que dans le cas présent, l'utilisation de DateSerial suffise amplement et soit plus simple de maiement, si tu veux utiliser les fonctions de feuille de calcul, passe par la fonction Evaluate
Function moisdecale(dat, decalage) Application.Volatile True: dat = dat * 1 moisdecale = Evaluate("date(year(" & dat & "), Month(" & dat & ") + " & decalage & ", Day(" & dat & "))") End Function
ou
Function moisdecale(dat, decalage) Application.Volatile True moisdecale= DateSerial(Year(dat), Month(dat) + decalage, Day(dat)) End Function
AV
JB
Bonsoir,
Si la fonction perso est recopiée x1000, le temps de recalcul n'est pas négligeable(7 s pour 10.000) alors qu'avec ÚTE(ANNEE(A1);MOIS(A1)+decal;JOUR(A1)), le temps de recalcul n'est pas mesurable.
JB
Bonjour à tous,
je voudrais remplacer la fonction mois.decaler =MOIS.DECALER(D7;C8) par une fonction personnalisee batie sur le modele suivant :
ÚTE(ANNEE(D7);MOIS(D7)+C8;JOUR(D7)) , ceci afin d'eviter d'utiliser la macro complementaire d'analyse qui est necessaire pour que mois.decaler fonctionne
mais j'ai un peu de mal dans l'ecriture de la fonction personnalisee :
Function moisdecale(dat, decalage) Application.Volatile True moisdecale = Application.WorksheetFunction.Date(Year(dat), Month(dat) + decalage, Day(dat)) End Function
ne fonctionne pas Que faut il que je modifie ?
merci par avance
Boursicot
Bonsoir,
Si la fonction perso est recopiée x1000, le temps de recalcul n'est
pas négligeable(7 s pour 10.000) alors qu'avec
=DATE(ANNEE(A1);MOIS(A1)+decal;JOUR(A1)), le temps de recalcul n'est
pas mesurable.
JB
Bonjour à tous,
je voudrais remplacer la fonction mois.decaler =MOIS.DECALER(D7;C8) par une
fonction personnalisee batie sur le modele suivant :
=DATE(ANNEE(D7);MOIS(D7)+C8;JOUR(D7)) , ceci afin d'eviter d'utiliser la
macro complementaire d'analyse qui est necessaire pour que mois.decaler
fonctionne
mais j'ai un peu de mal dans l'ecriture de la fonction personnalisee :
Function moisdecale(dat, decalage)
Application.Volatile True
moisdecale = Application.WorksheetFunction.Date(Year(dat), Month(dat) +
decalage, Day(dat))
End Function
Si la fonction perso est recopiée x1000, le temps de recalcul n'est pas négligeable(7 s pour 10.000) alors qu'avec ÚTE(ANNEE(A1);MOIS(A1)+decal;JOUR(A1)), le temps de recalcul n'est pas mesurable.
JB
Bonjour à tous,
je voudrais remplacer la fonction mois.decaler =MOIS.DECALER(D7;C8) par une fonction personnalisee batie sur le modele suivant :
ÚTE(ANNEE(D7);MOIS(D7)+C8;JOUR(D7)) , ceci afin d'eviter d'utiliser la macro complementaire d'analyse qui est necessaire pour que mois.decaler fonctionne
mais j'ai un peu de mal dans l'ecriture de la fonction personnalisee :
Function moisdecale(dat, decalage) Application.Volatile True moisdecale = Application.WorksheetFunction.Date(Year(dat), Month(dat) + decalage, Day(dat)) End Function
ne fonctionne pas Que faut il que je modifie ?
merci par avance
Boursicot
Boursicot
Merci à tous les piliers (daniel , av et jb ) du forum excel toujours aussi efficaces.
Pour JB en fait je veux faire une substitution dans un tableau deja existant ou la fonction est utilisee 200 ou 300 fois. Le remplacement par une fonction personnalisee me permet de simplifier ma modification mais c'est vrai que le temps de calcul risque d'etre un peu long.
Merci encore.
"Boursicot" a écrit dans le message de news: 44f35d67$0$11814$
Bonjour à tous,
je voudrais remplacer la fonction mois.decaler =MOIS.DECALER(D7;C8) par une fonction personnalisee batie sur le modele suivant :
ÚTE(ANNEE(D7);MOIS(D7)+C8;JOUR(D7)) , ceci afin d'eviter d'utiliser la macro complementaire d'analyse qui est necessaire pour que mois.decaler fonctionne
mais j'ai un peu de mal dans l'ecriture de la fonction personnalisee :
Function moisdecale(dat, decalage) Application.Volatile True moisdecale = Application.WorksheetFunction.Date(Year(dat), Month(dat) + decalage, Day(dat)) End Function
ne fonctionne pas Que faut il que je modifie ?
merci par avance
Boursicot
Merci à tous les piliers (daniel , av et jb ) du forum excel toujours aussi
efficaces.
Pour JB en fait je veux faire une substitution dans un tableau deja existant
ou la fonction est utilisee 200 ou 300 fois. Le remplacement par une
fonction personnalisee me permet de simplifier ma modification mais c'est
vrai que le temps de calcul risque d'etre un peu long.
Merci encore.
"Boursicot" <nospam_takron@free.fr> a écrit dans le message de news:
44f35d67$0$11814$636a55ce@news.free.fr...
Bonjour à tous,
je voudrais remplacer la fonction mois.decaler =MOIS.DECALER(D7;C8) par
une fonction personnalisee batie sur le modele suivant :
ÚTE(ANNEE(D7);MOIS(D7)+C8;JOUR(D7)) , ceci afin d'eviter d'utiliser la
macro complementaire d'analyse qui est necessaire pour que mois.decaler
fonctionne
mais j'ai un peu de mal dans l'ecriture de la fonction personnalisee :
Function moisdecale(dat, decalage)
Application.Volatile True
moisdecale = Application.WorksheetFunction.Date(Year(dat), Month(dat) +
decalage, Day(dat))
End Function
Merci à tous les piliers (daniel , av et jb ) du forum excel toujours aussi efficaces.
Pour JB en fait je veux faire une substitution dans un tableau deja existant ou la fonction est utilisee 200 ou 300 fois. Le remplacement par une fonction personnalisee me permet de simplifier ma modification mais c'est vrai que le temps de calcul risque d'etre un peu long.
Merci encore.
"Boursicot" a écrit dans le message de news: 44f35d67$0$11814$
Bonjour à tous,
je voudrais remplacer la fonction mois.decaler =MOIS.DECALER(D7;C8) par une fonction personnalisee batie sur le modele suivant :
ÚTE(ANNEE(D7);MOIS(D7)+C8;JOUR(D7)) , ceci afin d'eviter d'utiliser la macro complementaire d'analyse qui est necessaire pour que mois.decaler fonctionne
mais j'ai un peu de mal dans l'ecriture de la fonction personnalisee :
Function moisdecale(dat, decalage) Application.Volatile True moisdecale = Application.WorksheetFunction.Date(Year(dat), Month(dat) + decalage, Day(dat)) End Function