Changement dates automatique

Bonjour à tous le forum,

tout d'abord une nouvelle fois merci à tous ceux qui ont permis la résolution de ma précédente question.

J'ai crée une feuille de calcul afin de suivre les dépenses et les rentrées d'argent de notre foyer au jour le jour. Un classique Débit - Crédit - Solde.

Vous pourrez voir que j'ai crée un tableau sur le coté droit dans lequel on retrouve les frais fixes mensuels de la famille avec les dates de prélèvement ou bien de virement. Je souhaiterai que ces dates changent tous les premier de chaque mois sans que j'ai à le faire manuellement.

Par exemple que la date en J4 au 31/08/2017 devienne 01/09/2017 au lieu de 01/08/2017,

que la date en J5 au 31/08/2017 devienne 03/09/2017 au lieu de 03/08/2017,

que la date en J6 au 31/08/2017 devienne 04/09/2017 au lieu de 04/08/2017, etc...........

Et cela chaque fin de mois.

De plus existe t-il la possibilité qu'au premier de chaque mois cette liste de frais fixes soit incorporée automatiquement dans le tableau banque, jusqu'à présent je faisais un simple copier - coller.

Merci par avance pour l’intérêt que vous porterez à mon problème.

Cordialement, Christophe.

Bonjour,

Private Sub Workbook_Open()
'si la date d'aujourdhui est le dernier jour du mois
If Date = DateSerial(Year(Now), Month(Now) + 1, 1) - 1 Then
 For Each c In Sheets("Feuil1").Range("J4:J25")
  c.Value = DateSerial(Year(c.Value), Month(c.Value) + 1, Day(c.Value))
 Next
End If
End Sub

Bonjour sabV,

tout d'abord merci de vous être penché sur mon problème.

Pourriez vous m'expliquer un peu plus précisément votre solution et de quelle manière dois-je l'incorporer dans ma feuille de calcul ? En effet je ne connais pas les termes que vous utilisez dans la solution proposée et leurs implications.

Merci par avance. Cordialement.

Christophe.

Bonjour Christophe,

le code suivant est pour trouver le dernier jour du mois en cour

DateSerial(Year(Now), Month(Now) + 1, 1) - 1

c'est l'équivalent vba de la formule

=DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())+1;1)-1

la macro se lit comme suit:

si la date d'aujourdhui est = au dernier jour du mois

si vrai:

faire pour chaque cellule de la plage "J4:J25"

ajout de 1 au mois à la date en J4

J4 =DATE(ANNEE(J4);MOIS(J4)+1;JOUR(J4))

passer à la cellule suivante

j'ai utilisé l'événement Workbook_Open()

mais on peut aussi bien associer la macro à un bouton ou autre

voici un exemple, la macro est sur le Module1

une autre possibilité est avec la formule suivante

=SI(AUJOURDHUI()=DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())+1;1)-1;DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())+1;I4);DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI());I4))

j'ai utilisé les cellules I4:I25 pour mettre la valeur du jour

Merci sabV pour vos explications,

j'ai appliqué votre formule dans ma feuille de calcul. Maintenant dois-je attendre la fin du mois pour voir si cela fonctionne ou bien y a-t'il un autre moyen ?

Par contre si à chaque début de mois je fais un copier/coller de mes frais fixes dans mon tableau banque les dates vont changer à chaque fin de mois et donc mon compte banque ne sera plus aux bonnes dates. Comment remédier à ce problème ?

Dans tous les cas merci pour tout.

Cordialement, Christophe.

Bonjour Christophe,

à quel jour du mois, actuel ou suivant, voulez-vous que le changement de mois se fasse ?

sabV,

je souhaite que le changement de date se fasse dans le tableau des frais fixes au 1 de chaque mois et que cette nouvelle liste apparaisse dans le tableau banque et ce chaque mois.

Par exemple le 1er août 2017 toutes les dates doivent passer en format xx/08/2017 au lieu de xx/07/2017 et que toutes ces nouvelles occurrences soient insérées dans le tableau de banque.

Jusqu'à présent je modifiais les dates manuellement et faisais un copier/coller pour insérer les frais fixes dans le tableau banque. Avec les formules que nous avons insérées je pense que chaque début de mois toutes les dates vont augmenter d'un mois également dans le tableau banque, ce que je ne veux pas.

Merci. Cordialement.

Christophe.

dans ce cas la formule en cellule J4 à recopier vers le bas,

=DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI());I4)

Merci beaucoup sabV.

Je met à jour ma feuille de calcul et je vous dirai si cela fonctionne correctement en début de mois prochain.

Merci pour vos conseils et solutions.

Cordialement, Christophe.

Rechercher des sujets similaires à "changement dates automatique"