VB Excel addition
yacleouf
Messages postés
438
Date d'inscription
Statut
Membre
Dernière intervention
-
yacleouf Messages postés 438 Date d'inscription Statut Membre Dernière intervention -
yacleouf Messages postés 438 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Après des dizaines de posts, aucune réponse... j'espère trouver de l'aide sur un problème qui persiste je vous explique le problème :
J'ai tout simplement besoin d'additionner un nombre de mois (compris entre 12 et 18mois) à une date donnée, sauf que le petit problème dans tout sa, j'ai bien utilisé les fonction dateadd en vain car effectivement si j'ajoute 12mois à cette date 20/01/2010 sa me donnera le 20/01/2011!
En gros pendant l'addition il faudrait que sa prenne en compte les nombres de jours dans les mois si je donne janvier en date, il doit prendre en compte que janvier à 31jours, février 28etc...
Voila j'espère avoir était le plus précis dans ma demande, merci de vos réponses !!!
Après des dizaines de posts, aucune réponse... j'espère trouver de l'aide sur un problème qui persiste je vous explique le problème :
J'ai tout simplement besoin d'additionner un nombre de mois (compris entre 12 et 18mois) à une date donnée, sauf que le petit problème dans tout sa, j'ai bien utilisé les fonction dateadd en vain car effectivement si j'ajoute 12mois à cette date 20/01/2010 sa me donnera le 20/01/2011!
En gros pendant l'addition il faudrait que sa prenne en compte les nombres de jours dans les mois si je donne janvier en date, il doit prendre en compte que janvier à 31jours, février 28etc...
Voila j'espère avoir était le plus précis dans ma demande, merci de vos réponses !!!
A voir également:
- VB Excel addition
- Addition excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
9 réponses
voila pour la formule :
=SI(N2="An";DATE(ANNEE(E2)+O2;MOIS(E2);JOUR(E2));DATE(ANNEE(E2);MOIS(E2)+O2;JOUR(E2)))
Dans N2 j'ai An si c'est une année
Par contre pour ajouter un mois tu peux juste écrire :
DATE(ANNEE(A2);MOIS(A2)+B2;JOUR(A2) où B2 = le nombre de mois à ajouter
Si tu veux le code vb enregistre une macro ;) et tu auras ton formula :)
=SI(N2="An";DATE(ANNEE(E2)+O2;MOIS(E2);JOUR(E2));DATE(ANNEE(E2);MOIS(E2)+O2;JOUR(E2)))
Dans N2 j'ai An si c'est une année
Par contre pour ajouter un mois tu peux juste écrire :
DATE(ANNEE(A2);MOIS(A2)+B2;JOUR(A2) où B2 = le nombre de mois à ajouter
Si tu veux le code vb enregistre une macro ;) et tu auras ton formula :)
Salut merci de ta réponse!
mais enfaite j'ai besoin de sa pour une petite application vba, que je développe enfaite je dois faire un calcul sur une date donnée une sorte de compte a rebours... et ta fonction tu veut que je la mette dans le code vba? est ce qu'elle additionne bien en fonction du nombre de jours de mois.cf mon exemple
mais enfaite j'ai besoin de sa pour une petite application vba, que je développe enfaite je dois faire un calcul sur une date donnée une sorte de compte a rebours... et ta fonction tu veut que je la mette dans le code vba? est ce qu'elle additionne bien en fonction du nombre de jours de mois.cf mon exemple
Bonjour,
si j'ajoute 12mois à cette date 20/01/2010 sa me donnera le 20/01/2011
Et en quoi c'est faux ?
Si ce n'est pas ce que tu attends c'est que c'est autre chose que tu veux...
une sorte de compte a rebours.
Là ça serait plutôt une soustraction...
Bref, rien n'est clair dans ta demande c'est pour ça que tu n'as pas la réponse même en la posant 10 fois.
eric
si j'ajoute 12mois à cette date 20/01/2010 sa me donnera le 20/01/2011
Et en quoi c'est faux ?
Si ce n'est pas ce que tu attends c'est que c'est autre chose que tu veux...
une sorte de compte a rebours.
Là ça serait plutôt une soustraction...
Bref, rien n'est clair dans ta demande c'est pour ça que tu n'as pas la réponse même en la posant 10 fois.
eric
Bonjour
si j'ajoute 12mois à cette date 20/01/2010 sa me donnera le 20/01/2011
Et en quoi c'est faux ?
A l'appui de ce qu'affirme l'ami Eric (Bonjour) ci joint démonstration par formule "mois par mois" car j'ai douté devant les affirmations répétées de Yacleouf
https://www.cjoint.com/?buoSynVDOT
Excusez l'incruste mais je n'insisterai pas sur cette discussion...
si j'ajoute 12mois à cette date 20/01/2010 sa me donnera le 20/01/2011
Et en quoi c'est faux ?
A l'appui de ce qu'affirme l'ami Eric (Bonjour) ci joint démonstration par formule "mois par mois" car j'ai douté devant les affirmations répétées de Yacleouf
https://www.cjoint.com/?buoSynVDOT
Excusez l'incruste mais je n'insisterai pas sur cette discussion...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
oula! excusez moi oui, je m'explique très mal, il y a que le début de mon explication! désolé,
tout d'abord merci pour vos explications!
enfaite c'est sur la suite que je coince, je dois utilisé le nombre de mois que l'on me donne exemple 13 mois, divisé par 2 (donc 7,5) et additionné ce résultats à la date donné au départ... j'ai déja fais quelque chose comme sa :
encore désolé je sais pas pourquoi j'ai raconté n'importe quoi ^^
tout d'abord merci pour vos explications!
enfaite c'est sur la suite que je coince, je dois utilisé le nombre de mois que l'on me donne exemple 13 mois, divisé par 2 (donc 7,5) et additionné ce résultats à la date donné au départ... j'ai déja fais quelque chose comme sa :
' Déclare les variables. Dim dat1 As Date Dim IntervalType As String Dim Num As Integer Dim Msg1 IntervalType = "m" dat1 = ActiveWorkbook.ActiveSheet.Range("E10").Value If dure.Value < 12 < 18 Then Num = ActiveWorkbook.ActiveSheet.Range("E12") / 2 End If Msg1 = DateAdd(IntervalType, Num, dat1) ActiveWorkbook.ActiveSheet.Range("H14").Value = Msg1
encore désolé je sais pas pourquoi j'ai raconté n'importe quoi ^^
Ca serait plus clair si tu donnais 3-4 exemples :
si j'ai ça, ça et ça et je veux obtenir ça parce que ceci...
Et le mieux c'est sur un classeur que tu déposes sur cijoint.fr (coller le lien fourni ici)
si j'ai ça, ça et ça et je veux obtenir ça parce que ceci...
Et le mieux c'est sur un classeur que tu déposes sur cijoint.fr (coller le lien fourni ici)
Et bien merci eriiic je pense qu'une fois que tu verra la tete du programme tu comprendras sa ne cherche pas bien loin, sauf que j'ai du mal et que je n'aime pas le vba ....
https://www.cjoint.com/?buqE21ayRz
si tu as besoin de plus d'explication n'hesite pas a m'en redemander j'ai normalement bien commenté mon code.
https://www.cjoint.com/?buqE21ayRz
si tu as besoin de plus d'explication n'hesite pas a m'en redemander j'ai normalement bien commenté mon code.
Bon j'ai re-essayer une fois encore d'effectuer ce calcul, mais il ne veut rien savoir!
@michel_m j'ai essayer d'utiliser ton fichier excel qui est plustot pas mal! sauf que tu as du restreindre la plage comme je l'avais dit un peut avant (en gros devoir donner un nombre de mois entre 12 et 18 mois) sauf que etant donnée que ce nombre de mois doit être divisé par deux excel me rend une erreur du type #REF...
sinon si par exemple j'effectue la divison hors de la formule et que j'additionne mon nombre de mois à une date il croit que les mois sont des jours....
Donc la je suis coincé...
@michel_m j'ai essayer d'utiliser ton fichier excel qui est plustot pas mal! sauf que tu as du restreindre la plage comme je l'avais dit un peut avant (en gros devoir donner un nombre de mois entre 12 et 18 mois) sauf que etant donnée que ce nombre de mois doit être divisé par deux excel me rend une erreur du type #REF...
sinon si par exemple j'effectue la divison hors de la formule et que j'additionne mon nombre de mois à une date il croit que les mois sont des jours....
Donc la je suis coincé...