Mettre à jour tableau en fonction du jour de la semaine

  • Initiateur de la discussion Initiateur de la discussion jip31
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jip31

Guest
Bonjour

Tout est expliqué dans le fichier joint
Question complémentaire : j'utilise une macro pour récupérer les valeurs de fichiers qui sont sur un serveur
Le nom de ces fichiers à une partie fixe mais aussi une partie variable qui change tous les jours
Du coup je suis obligé de les renommer manuellement pour que la macro marche
Y'a t'il une méthode pour les renommer automatiquement sans passer par les enregistrer sous en VB car assez lourd?
Merci
 

Pièces jointes

Re : Mettre à jour tableau en fonction du jour de la semaine

par contre j ai un doute
est ce que demain mercredi je vais perdre les données de Mardi? il faut absolument que je conserve les données 😕
Et pour l'affichage du lundi en C13 tu ne m'as pas répondu 🙁
 
Re : Mettre à jour tableau en fonction du jour de la semaine

Re Bonjour,

En C13 la formule
=AUJOURDHUI()-MOD(AUJOURDHUI()-2;7)
donne le lundi de la semaine en cours les autres jours sont donné en ajoutant 1 à la cellule située au-dessus (mardi = C13+1). Quelle que soit la semaine, de C13 à C17 ce sera toujours du lundi au vendredi

La formule qui est dans le tableau D13 à I17 teste le jour de la semaine par rapport à AUJOURDHUI(). Si JOURSEM(AUJOURDHUI();2)=1, c'est un lundi, 2 un mardi... Par contre, cette formule ne prend que les données du tableau D2:F11. Pour la sauvegarde, il faudrait préciser ce que tu veux garder et où.

EDIT Pour les fichiers à renommer, il faudrait que tu donne un exemple.

A+ Jack2
 
Dernière édition:
Re : Mettre à jour tableau en fonction du jour de la semaine

Jack en fait je veux que le mardi les valeurs récupérées le lundi restent figées dans la ligne du lundi ainsi de suite
La mise a jour en gros ne doit se faire que si la date système est identique a la date en c13 et ainsi de suite... merci 🙂
 
Re : Mettre à jour tableau en fonction du jour de la semaine

Bonsoir jip31,

Je pensais que tu voulais que seul le jour en cours soit visible (il y a une erreur pour mercredi, il faut remplacer SI(JOURSEM(AUJOURDHUI();2)=4 par SI(JOURSEM(AUJOURDHUI();2)=3. Par contre je ne vois pas comment garder les valeurs avec des formules (en VBA ça doit être possible). Pour les formules, soumets ton fichier dans l'autre fil https://www.excel-downloads.com/threads/joursem-est-le-lundi.218222/, il y a de vrais spécialistes des formules .

A+ Jack2
 
Re : Mettre à jour tableau en fonction du jour de la semaine

Bonjour jack, bonjour le forum

est-ce que quelqu'un sait programmer en VB la formule (D13:I17) proposée par Jack (qui marche très bien) mais je veux en plus qu'une fois que la ligne est remplie la formule ne fonctionne plus (car sinon elle revide la ligne!)
seule une macro peut faire cà je pense
y'a t'il un crack?
merci
 
Re : Mettre à jour tableau en fonction du jour de la semaine

Bonjour jip31, bonjour le Forum,

Essayer les procédure suivantes :

- Sub Workbook_BeforeSave à chaque fois que tu sauvegarde ton classeur (Ctrl + S ou autre) les données de D2😀10 sont recopiées dans le jour correspondant en D13:I17
- Sub Workbook_BeforeClose. Même chose quand tu ferme le classeur.

Tu peux choisir l'une ou l'autre (ou les deux). Le code est à placer dans ThisWorkbook (voir fichier du post.

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Dates As Date
Dim Today As Date
Today = Int(Now)
For i = 13 To 17
    Dates = CDate(Range("C" & i))
    If Dates = Today Then
        Cells(i, 4) = Cells(3, 4)
        Cells(i, 5) = Cells(4, 4)
        Cells(i, 6) = Cells(5, 4)
        Cells(i, 7) = Cells(6, 4)
        Cells(i, 8) = Cells(7, 4)
        Cells(i, 9) = Cells(10, 4)
    Exit Sub
    End If
Next i
Cancel = True
End Sub
et
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Dates As Date
Dim Today As Date
Today = Int(Now)
For i = 13 To 17
    Dates = CDate(Range("C" & i))
    If Dates = Today Then
        Cells(i, 4) = Cells(3, 4)
        Cells(i, 5) = Cells(4, 4)
        Cells(i, 6) = Cells(5, 4)
        Cells(i, 7) = Cells(6, 4)
        Cells(i, 8) = Cells(7, 4)
        Cells(i, 9) = Cells(10, 4)
    Exit Sub
    End If
Next i
Cancel = True
End Sub
 

Pièces jointes

Re : Mettre à jour tableau en fonction du jour de la semaine

Super jack
par contre 2 questions :
il faut bien laisser les formules en D13:I17?
ensuite les données en D3: D10N changent tous les jours donc ca va bien me recopier les données du jour sur le jour correspondant? (en gros je ne veux pas avoir les mêmes données que celles du jour J sur toutes les lignes!)
merci à toi
 
Re : Mettre à jour tableau en fonction du jour de la semaine

Bonjour jip31,

Seules les formules en C13:C17 sont conservées, les autres sont remplacées par le code VBA (on peut enlever ces formules). Les valeurs sont s’actualiser du lundi au vendredi. Puis le lundi suivant, elles vont prendre la place de celles de la semaine précédente. Ainsi de suite pour le mardi, le mercredi...

A+ Jack2
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour