Microsoft 365 Mémoriser une valeur qui change tous les jours dans un autre tableau

Dréa

XLDnaute Nouveau
Bonjour,
J'ai une feuille Excel où je saisie tous les jours des données et qui alimente une autre feuille qui garde toutes les valeurs du mois. Le problème est que dès que je change de jour, les données de la veille s'effacent.
Pourriez-vous m'aider à faire en sorte qu'elles restent ?
Merci d'avance.
PS: Actuellement ma deuxième feuille est alimentée seulement avec des fonctions SI
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Dréa et bienvenu sur XLD,
Avec des formules vous ne pourrez pas mémoriser des données passées.
J'ai bien peur qu'il vous faille passer par du VBA qui ira copier les valeurs en "dur". Si le VBA ne vous reboute pas.
Mai sans fichier test, difficile d'en dire plus.
 

Dréa

XLDnaute Nouveau
Bonjour Dréa et bienvenu sur XLD,
Avec des formules vous ne pourrez pas mémoriser des données passées.
J'ai bien peur qu'il vous faille passer par du VBA qui ira copier les valeurs en "dur". Si le VBA ne vous reboute pas.
Mai sans fichier test, difficile d'en dire plus.
Bonjour et merci de me répondre!
Je ne suis pas du tout contre le VBA, j'ai essayé, mais débutant juste, je n'y parvient pas.
Je vous joint mon fichier.
En fait, les seules cellules qui sont remplies, sont : B9, F9, J9.... et alimentent le reste des tableaux des différentes feuilles.
Là où je bloque, c'est que ces cellules sont remplies tous les jours et renvoyées dans les tableaux correspondant des autres feuilles, mais dès que le jour change les données disparaissent de tous mes tableaux!
Suis-je assez claire ?
 

Pièces jointes

  • BanqueMathieu - Copie (2).xlsm
    316.6 KB · Affichages: 14

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Dréa,
Un essai en PJ avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 2 Then Exit Sub
    If Not Intersect(Target, Range("A9:AH9")) Is Nothing Then
        On Error GoTo Fin
        If Target = "Nombre" Or Target = "" Then Exit Sub       ' Exit si Cellule non concernée
        NomFeuille = Cells(7, Target.Column) ' Les noms de feuilles sont cahchées sous les boutons en police blanche
        With Sheets(NomFeuille)
            Ind = Application.Match([DateEnCours], .[B:B], 0)   ' Récupére la ligne de la feuille concernée où se trouve la date courante
            .Cells(Ind, "C") = Target                           ' Ecrit la valeur sur cette ligne colonne C
        End With
    End If
Exit Sub
Fin:
MsgBox "Date non trouvée dans la feuille " & NomFeuille         ' Message si date non trouvée dans la feuille
End Sub
la macro s'exécute lorsqu'on remplit une cellule de la ligne 9.
A noter que sous chaque bouton j'ai mis le nom de la feuille concernée pour simplifier ( et en police blanche ), donc si vous rajoutez un bouton pensez aussi à rajouter le nom.
Si la date n'est pas trouvée dans la feuille alors j'émets un message d'alerte.
 

Pièces jointes

  • BanqueMathieu - Copie (2).xlsm
    295.9 KB · Affichages: 10

Dréa

XLDnaute Nouveau
Bonjour Dréa,
Un essai en PJ avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 2 Then Exit Sub
    If Not Intersect(Target, Range("A9:AH9")) Is Nothing Then
        On Error GoTo Fin
        If Target = "Nombre" Or Target = "" Then Exit Sub       ' Exit si Cellule non concernée
        NomFeuille = Cells(7, Target.Column) ' Les noms de feuilles sont cahchées sous les boutons en police blanche
        With Sheets(NomFeuille)
            Ind = Application.Match([DateEnCours], .[B:B], 0)   ' Récupére la ligne de la feuille concernée où se trouve la date courante
            .Cells(Ind, "C") = Target                           ' Ecrit la valeur sur cette ligne colonne C
        End With
    End If
Exit Sub
Fin:
MsgBox "Date non trouvée dans la feuille " & NomFeuille         ' Message si date non trouvée dans la feuille
End Sub
la macro s'exécute lorsqu'on remplit une cellule de la ligne 9.
A noter que sous chaque bouton j'ai mis le nom de la feuille concernée pour simplifier ( et en police blanche ), donc si vous rajoutez un bouton pensez aussi à rajouter le nom.
Si la date n'est pas trouvée dans la feuille alors j'émets un message d'alerte.
Merci énormément, bonne journée!!
 

Discussions similaires

Statistiques des forums

Discussions
315 109
Messages
2 116 300
Membres
112 716
dernier inscrit
jean1234