J'aimerais transférer les valeurs inscrites dans des cellules dans d'autres cellules selon la valeur d'une autre. Je m'explique: J'ai dans une cellule la fonction "=AUJOURDHUI()+10" qui me donne un mois avec des cellules sous celle-ci avec des montants. À côté j'ai le même genre de cellules mais la première a la fonction "=MOIS.DECALER(A1;1)" qui me donne le mois suivant avec des montants différents.
Ce que je veux faire est ex: transférer les montants de la colonne (Ici avril) dans la colonne (ici mars) lorsque mars change de mois et la colonne avril tombe à zéro.
Faite Alt+F11 pour aller dans VBE.
Vous devez avoir à gauche l'explorateur de projets affiché, sinon faite Ctrl+R pour l'afficher.
Vous y voyez un module ThisWorkbook. Doublecliquez dessus. Dans la fenêtre de code mettez ceci :
VB:
Option Explicit
Private Sub Workbook_Open()
If Date >= Feuil1.[D1].Value Then
Feuil1.[A1].Value = Feuil1.[D1].Value
Feuil1.[B2:B7].Value = Feuil1.[E2:E7].Value
Feuil1.[E2:E7].ClearContents
End Sub
Figez la cellule A1 à la date où était censé avoir lieu le dernier basculement.
N'oubliez pas de l'enregistrer en tant que Classeur Excel prenant en charge les macros (*.xlsm).
Bonsoir.
Il faut du VBA pour faire ça.
On peut difficilement l'effectuer lorsque la date change.
On peut plus facilement détecter si la date a changé lors de l'ouverture du classeur par exemple, ou à l'activation de la feuille. Mais il vaudrait mieux qu'une des dates soit figée: ça permettrait de savoir par rapport à la date du jour si elle n'a pas déja été rectifiée par la macro.
Faite Alt+F11 pour aller dans VBE.
Vous devez avoir à gauche l'explorateur de projets affiché, sinon faite Ctrl+R pour l'afficher.
Vous y voyez un module ThisWorkbook. Doublecliquez dessus. Dans la fenêtre de code mettez ceci :
VB:
Option Explicit
Private Sub Workbook_Open()
If Date >= Feuil1.[D1].Value Then
Feuil1.[A1].Value = Feuil1.[D1].Value
Feuil1.[B2:B7].Value = Feuil1.[E2:E7].Value
Feuil1.[E2:E7].ClearContents
End Sub
Figez la cellule A1 à la date où était censé avoir lieu le dernier basculement.
N'oubliez pas de l'enregistrer en tant que Classeur Excel prenant en charge les macros (*.xlsm).