XL 2016 fichier de statistiques par semaine dans l'année en vba

mastergate

XLDnaute Nouveau
bonjour a tous,
je suis novice en vba, je cherche a créer un fichier de statistique suivant des règles définit.
Ce fichier me servira a créer des stats par semaine,
j'ai le bouton (avec vba) qui me permet de créer une nouvelle feuille identique avec en nom le numéro de la semaine,
jai des boutons permettant de mettre a jour des données rentrées par jour,

Ma demande est celle si, j'aimerais savoir en vba s'il existe une façon de faire pour que mes boutons journalier(lundi, mardi, ...) ne puissent mettre a jour que le jour correspondant en choisissant le numéro de la semaine que l'on veut mettre a jour???

et aussi, sur la nouvelle feuille créer (ex: semaine 10) existe t il une fonction qui permettrait de geler le numéro de semaine (c2) pour ne pas que cela ce mette a jour si on consulte cette feuille après???

merci d'avance pour l'aide que vous pourrez m'apporter
 

Pièces jointes

  • demande excel.xlsm
    45.9 KB · Affichages: 21
Solution
Bonne Nuit @mastergate , bonne nuit les noctambules ...

La réponse à tes 2 questions est Oui, bonne nouvelle non ?
Ma demande est celle si, j'aimerais savoir en vba s'il existe une façon de faire pour que mes boutons journalier(lundi, mardi, ...) ne puissent mettre a jour que le jour correspondant en choisissant le numéro de la semaine que l'on veut mettre a jour???
Ma démarche :

J'ai d'abord nommer tes boutons Bt_Lundi, Bt_Mardi, ... Ça se fait en sélectionnant le bouton et en tapant le nom dans la zone de nom, sans oublier de valider par ENTREE :
1642036276949.png


Ensuite j'ai créé une macro unique pour tous les jours, elle détecte le bouton qui l'a lancé grâce à la propriété...

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonne Nuit @mastergate , bonne nuit les noctambules ...

La réponse à tes 2 questions est Oui, bonne nouvelle non ?
Ma demande est celle si, j'aimerais savoir en vba s'il existe une façon de faire pour que mes boutons journalier(lundi, mardi, ...) ne puissent mettre a jour que le jour correspondant en choisissant le numéro de la semaine que l'on veut mettre a jour???
Ma démarche :

J'ai d'abord nommer tes boutons Bt_Lundi, Bt_Mardi, ... Ça se fait en sélectionnant le bouton et en tapant le nom dans la zone de nom, sans oublier de valider par ENTREE :
1642036276949.png


Ensuite j'ai créé une macro unique pour tous les jours, elle détecte le bouton qui l'a lancé grâce à la propriété Application.Caller.
J'en déduis le jour à sauvegarder en supprimant le "Bt_".
Je calcule un index correspondant au jour à l'aide de WorksheetFunction.match (la fonction Excel EQUIV)

Comme tu le faisais, je demande le N° de la semaine (j'ai bien compris que ce n'est pas forcément le N° de la semaine courante, sauf à faire le boulot le dimanche très tard).

J'ai repris le test de l'existence de la feuille correspondant au N°, si elle n'existe pas je la crée à l'aide d'une fonction (que j'appelle également pour la sauvegarde de la semaine complète). Ce faisant je fige le N° de la semaine et l'année dans cette nouvelle feuille. (réponse à ta 2ème question)

Ensuite grâce à l'index trouvé plus haut, je copie la bonne plage de données de la feuille Semaine vers la nouvelle feuille.

et aussi, sur la nouvelle feuille créer (ex: semaine 10) existe t il une fonction qui permettrait de geler le numéro de semaine (c2) pour ne pas que cela ce mette a jour si on consulte cette feuille après???

J'ai choisi de figer également l'année.
On peut le faire avec un copier-Collage spécial(Valeur) ;
Plage_Source.Copy
Plage_Cible.PasteSpecial xlPasteValues

Ou en utilisant la syntaxe Plage_Cible.value= Plage_Cible.value qui remplace les formules par les valeurs. (C'est ce que j'ai fait pour l'année.)
Par contre pour le N° de semaine, celui affiché, on l'a vue plus haut, n'est pas forcément celui de la semaine sauvegardée. Là je mets comme valeur le n° donné par l'utilisateur.

Voilà, j'ai restructuré le code, il n'y a plus que 4 modules dont celui de l'import de données auquel je n'ai pas touché.
Un module contient les constantes utilisées
  • Nom de la feuille Semaine
  • Préfixe pour les nouvelles feuille
  • Adresse de la cellule qui contient l'année
  • Adresse de la plage qui contient les données
Cette pratique facilite la maintenance (si tu insères des cellules qui décalent tes données, il n'y a qu'un seul endroit à modifier dans le code.

Un module qui contient les 2 sub pour enregistrer une semaine complète ou juste une journée.

Un module qui contient les fonctions.

A bientôt
Amicalement
Alain
 

Pièces jointes

  • Copier Jour ou Semaine.xlsm
    39.8 KB · Affichages: 12

mastergate

XLDnaute Nouveau
Bonne Nuit @mastergate , bonne nuit les noctambules ...

La réponse à tes 2 questions est Oui, bonne nouvelle non ?

Ma démarche :

J'ai d'abord nommer tes boutons Bt_Lundi, Bt_Mardi, ... Ça se fait en sélectionnant le bouton et en tapant le nom dans la zone de nom, sans oublier de valider par ENTREE :
Regarde la pièce jointe 1127378

Ensuite j'ai créé une macro unique pour tous les jours, elle détecte le bouton qui l'a lancé grâce à la propriété Application.Caller.
J'en déduis le jour à sauvegarder en supprimant le "Bt_".
Je calcule un index correspondant au jour à l'aide de WorksheetFunction.match (la fonction Excel EQUIV)

Comme tu le faisais, je demande le N° de la semaine (j'ai bien compris que ce n'est pas forcément le N° de la semaine courante, sauf à faire le boulot le dimanche très tard).

J'ai repris le test de l'existence de la feuille correspondant au N°, si elle n'existe pas je la crée à l'aide d'une fonction (que j'appelle également pour la sauvegarde de la semaine complète). Ce faisant je fige le N° de la semaine et l'année dans cette nouvelle feuille. (réponse à ta 2ème question)

Ensuite grâce à l'index trouvé plus haut, je copie la bonne plage de données de la feuille Semaine vers la nouvelle feuille.



J'ai choisi de figer également l'année.
On peut le faire avec un copier-Collage spécial(Valeur) ;
Plage_Source.Copy
Plage_Cible.PasteSpecial xlPasteValues

Ou en utilisant la syntaxe Plage_Cible.value= Plage_Cible.value qui remplace les formules par les valeurs. (C'est ce que j'ai fait pour l'année.)
Par contre pour le N° de semaine, celui affiché, on l'a vue plus haut, n'est pas forcément celui de la semaine sauvegardée. Là je mets comme valeur le n° donné par l'utilisateur.

Voilà, j'ai restructuré le code, il n'y a plus que 4 modules dont celui de l'import de données auquel je n'ai pas touché.
Un module contient les constantes utilisées
  • Nom de la feuille Semaine
  • Préfixe pour les nouvelles feuille
  • Adresse de la cellule qui contient l'année
  • Adresse de la plage qui contient les données
Cette pratique facilite la maintenance (si tu insères des cellules qui décalent tes données, il n'y a qu'un seul endroit à modifier dans le code.

Un module qui contient les 2 sub pour enregistrer une semaine complète ou juste une journée.

Un module qui contient les fonctions.

A bientôt
Amicalement
Alain
Alors la, moi je dis chapeau pour le boulot réalisé.. je t'en remercie énormément..
Seul petit bémol, quand on rempli des données pour le lundi par exemple, et que si on veut en rajouter après pour le lundi (une mise a jour ), les données rentrées plus tôt sont effacées, peut on arrivée a que cela n'efface pas les données précédentes???
Mais le boulot déjà effectué est énorme mais y a quand même des fonctions que je comprend pas ?? et merci pour les explications pour chaque fonction...

Bon mon supérieur m'as demander un truc en plus ...
ce fichier est un fichier de statistique avec plusieurs catégorie !! il voudrait savoir si on peut dans une feuille "résumer mensuel" additionner les données remplies par mois en tenant compte des feuille "semaine déjà existante", soit dans un nouveau fichier ou une nouvelle feuille ...
 

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonjour @mastergate, bonjour à tous.
Seul petit bémol, quand on rempli des données pour le lundi par exemple, et que si on veut en rajouter après pour le lundi (une mise a jour ), les données rentrées plus tôt sont effacées, peut on arrivée a que cela n'efface pas les données précédentes???
Je ne suis pas sur de bien comprendre.
Il me semble que si les données d'une journée ont été enregistrées, elles peuvent être modifiées dans l'onglet Semaine.
Alors ce sont les nouvelles données (celles qui n'existaient pas lors du précédent enregistrement) , et les données modifiées que l'on enregistre lors d'une nouvelle action sur le bouton (les données inchangées ne sont de toutes façons pas altérées).
Sinon comment faire ? Lorsqu'une donnée (même ligne, même semaine) a été modifiée (voire supprimée) que faut-il considérer c'est l'ancienne donnée qu'il faut conserver ou c'est la nouvelle qu'il faut enregistrer ?
Bon mon supérieur m'as demander un truc en plus ...
Ah ces chefs !
Ça me semble possible en incrémentant les lignes pour chaque changement de semaine ...

Je regarde pour te faire une proposition, mais tu peux essayer de ton coté !

Amicalement
Alain
 

mastergate

XLDnaute Nouveau
Bonjour @mastergate, bonjour à tous.

Je ne suis pas sur de bien comprendre.
Il me semble que si les données d'une journée ont été enregistrées, elles peuvent être modifiées dans l'onglet Semaine.
Alors ce sont les nouvelles données (celles qui n'existaient pas lors du précédent enregistrement) , et les données modifiées que l'on enregistre lors d'une nouvelle action sur le bouton (les données inchangées ne sont de toutes façons pas altérées).
Sinon comment faire ? Lorsqu'une donnée (même ligne, même semaine) a été modifiée (voire supprimée) que faut-il considérer c'est l'ancienne donnée qu'il faut conserver ou c'est la nouvelle qu'il faut enregistrer ?
Comme on est nombreux a utiliser le fichier, et pas forcement en même temps, et certaine personne ne penseront pas forcement a aller sur la feuille pour la semaine en cours par exemple, si des données sont remplies par le bouton, c'est le but de ma question pour éviter de perdre les données déjà rentrées.. j'espere bien me faire comprendre???

"Ah ces chefs !"
"Ça me semble possible en incrémentant les lignes pour chaque changement de semaine ..".

"Je regarde pour te faire une proposition, mais tu peux essayer de ton coté !"

oui comme tu dis, "les chefs",
de mon cote J'ai cherche, mais pas encore trouver, il faut scanner les feuille, grouper les lignes par domaine requis, mais je n'arrive pas a trouver une fonction qui trouve quelle semaine sont de janvier par exemple??

mais merci de m'aider... Hervé
 
Dernière édition:

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonjour Hervé (@mastergate) Bonjour à tous
Seul petit bémol, quand on rempli des données pour le lundi par exemple, et que si on veut en rajouter après pour le lundi (une mise a jour ), les données rentrées plus tôt sont effacées, peut on arrivée a que cela n'efface pas les données précédentes???

Comme on est nombreux a utiliser le fichier, et pas forcement en même temps, et certaine personne ne penseront pas forcement a aller sur la feuille pour la semaine en cours par exemple

La solution la plus simple me semble-t-il c'est d'éviter que l'on ne se serve des semaine enregistrée pour faire des saisie directe, car mon objection reste valable :
Sinon comment faire ? Lorsqu'une donnée (même ligne, même semaine) a été modifiée (voire supprimée) que faut-il considérer c'est l'ancienne donnée qu'il faut conserver ou c'est la nouvelle qu'il faut enregistrer ?
La protection peut être limitée à l'interface utilisateur, restant possible par macro, ce qui permet d'enregistrer un jour lorsque l'on en a déjà enregistré un, ou de prévoir des rattrapages, lorsque les saisie sur la semaine courante ont déjà débuté et que l'on veut faire une saisie oubliée d'un semaine précédentes. Il faut juste développer cet outil ...
de mon cote J'ai cherche, mais pas encore trouver, il faut scanner les feuille, grouper les lignes par domaine requis, mais je n'arrive pas a trouver une fonction qui trouve quelle semaine sont de janvier par exemple??
=ET (N°Semaine >= NO.SEMAINE.ISO(DATE(Année;Mois;1);N°Semaine<=NO.SEMAINE.ISO(FIN.MOIS(DATE(Année;Mois;1);0))
Pour avancer sur cette partie, peux-tu replacer un fichier avec quelques rubriques bidon pour voir comment envisager les choses

Amicalement
Alain
 

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonsoir Hervé (@Maxx) Bonsoir à tous.

Pour partir d'un bon pied sur l'enregistrement des statistiques mensuelles,
  • part-on du 1er du mois à la fin du mois ( 1er janvier au 31 et on ignore les jours des mois de décembre et de février)
  • procède-t-on par semaines complètes, et dans ce cas quelle règle applique-t-on
    (à la mode ISO du calcul de la semaine : si la semaine compte au moins 4 jour du mois, cet semaine appartient au mois en question) ?
Sinon, j'avance doucement en fonction de mes autres activités ...

Amicalement
Alain
 
Dernière édition:

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonsoir Hervé, Bonsoir la communauté
J'ai passé du temps à essayer de réparer une grosse boulette, que dis-je une énorme boulette, du fait je ne regarde ton fichier que depuis ce soir.

En l'absence de réponse je suis parti sur l'option statistiques du 1er à la fin du mois considéré.
Une contrainte, d'une année sur l'autre conserver la feuille de la dernière semaine si elle contient le 1er janvier et la renommer Semaine_0 (pour éviter en fin d'année de se retrouver avec 2 semaines 52)

Je scanne toutes les semaines enregistrées, j'en déduis le 1er et le dernier jour disponibles.
J'en déduis les mois pour lesquels on peut enregistrer les stat et les propose dans un formulaire.
Du mois choisi je déduit la semaine de Début et la semaine de Fin (Cas particulier : la semaine du 1er janvier peut être ramenée à 0)

Ensuite je gère 3 cas pour les semaines :
  • Le premier du mois n'est pas un lundi (je ne prends en compte que les jours du mois.)
  • Le dernier du mois n'est pas un dimanche (je ne prends en compte que les jours du mois.)
  • Les semaines ne comportant que des jours du mois (je prends en compte tous les jours de la semaine)

Pour aller plus vite, dans le cas des semaines incomplètes, j'efface temporairement les jours non concernés et je regarde la colonne Total, ensuite je restitue toutes les valeurs.
Pour les semaines complètes je prends directement le Total.

Voir le Module M02_Stat_Mensuelles et le UserForm UsF_Mensuelles
  • Le Module C00_Constantes contient les constantes Public (Les noms en dur)
  • Le Module M00_Variables_Publiques contient les variables Public
  • Le Module M01_Transfert_Jour_Sem contient les procédures d'enregistrement de jours particuliers ou de semaine entière
  • Le Module M03_Fonctions contient ... les fonctions !
  • Le Module M99_Import contient la procédure d'import qui préexistait dans ton classeur.

Les feuilles sont protégées (.Protect UserInterfaceOnly:=True)

Amicalement
Alain
 

Pièces jointes

  • Stat Jour ou Semaine Mois.xlsm
    121.5 KB · Affichages: 3

mastergate

XLDnaute Nouveau
Bonsoir Hervé, Bonsoir la communauté
J'ai passé du temps à essayer de réparer une grosse boulette, que dis-je une énorme boulette, du fait je ne regarde ton fichier que depuis ce soir.

En l'absence de réponse je suis parti sur l'option statistiques du 1er à la fin du mois considéré.
Une contrainte, d'une année sur l'autre conserver la feuille de la dernière semaine si elle contient le 1er janvier et la renommer Semaine_0 (pour éviter en fin d'année de se retrouver avec 2 semaines 52)

Je scanne toutes les semaines enregistrées, j'en déduis le 1er et le dernier jour disponibles.
J'en déduis les mois pour lesquels on peut enregistrer les stat et les propose dans un formulaire.
Du mois choisi je déduit la semaine de Début et la semaine de Fin (Cas particulier : la semaine du 1er janvier peut être ramenée à 0)

Ensuite je gère 3 cas pour les semaines :
  • Le premier du mois n'est pas un lundi (je ne prends en compte que les jours du mois.)
  • Le dernier du mois n'est pas un dimanche (je ne prends en compte que les jours du mois.)
  • Les semaines ne comportant que des jours du mois (je prends en compte tous les jours de la semaine)

Pour aller plus vite, dans le cas des semaines incomplètes, j'efface temporairement les jours non concernés et je regarde la colonne Total, ensuite je restitue toutes les valeurs.
Pour les semaines complètes je prends directement le Total.

Voir le Module M02_Stat_Mensuelles et le UserForm UsF_Mensuelles
  • Le Module C00_Constantes contient les constantes Public (Les noms en dur)
  • Le Module M00_Variables_Publiques contient les variables Public
  • Le Module M01_Transfert_Jour_Sem contient les procédures d'enregistrement de jours particuliers ou de semaine entière
  • Le Module M03_Fonctions contient ... les fonctions !
  • Le Module M99_Import contient la procédure d'import qui préexistait dans ton classeur.

Les feuilles sont protégées (.Protect UserInterfaceOnly:=True)

Amicalement
Alain
Bonjour Alain et la Communauté,

désoler pas pu répondre avant, et je suis en congé, mais cela ne m'empêche pas de regarder ce que tu m'as envoyer, et là !!! j'avoue que ca commence a sortir de mes compétences en Prog...
déjà faut que j'installe une version plus récente d'Excel sur mon PC perso (j'ai que la version 2013 et a mon boulot c'est la 2016..) donc je fais ca, et je regarde ton fichier mis a jour...
mais deja pourquoi il a t il une feuille tables ??? je piges pas trop son utilité??
et sur ma version 2013, en essayant de faire les stat mensuels cela m'as mis une erreur (surement due a ma version 2013) je retente apres avoir mis une version 2016 mini

mais tu m'est d'une aide enorme, va me falloir du temps pour me mettre a ton niveau!!!
 

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonjour.
Ça doit venir des fonctions NO.SEMAINE.ISO qui sont récentes (la WorksheetFunction IsoWeekNum en VBA)
Que j'utilise dans le code : (Ca plante là-dessus aussi en 2007, où cette fonction n'existe pas encore)
With Application.WorksheetFunction
SDéb = .IsoWeekNum(DateSerial(Année, Mois_Choisi, 1))
If Mois_Choisi = 1 And SDéb > 1 Then SDéb = 0
SFin = .IsoWeekNum(.EoMonth(DateSerial(Année, Mois_Choisi, 1), 0))
End With
A+
Alain
 

mastergate

XLDnaute Nouveau
Bonjour.
Ça doit venir des fonctions NO.SEMAINE.ISO qui sont récentes (la WorksheetFunction IsoWeekNum en VBA)
Que j'utilise dans le code : (Ca plante là-dessus aussi en 2007, où cette fonction n'existe pas encore)

A+
Alain
alors jai installer une version 2019, et cela fonctionne très bien...
juste une petite précision, il y a besoin de laisser la semaine numéro 52 ?? et pourquoi chaque cellule est en menu déroulant ???
Comment pourrais je remplir les catégorie ?? et les motifs?? grâce a la feuille "tables" ou directement sur la feuille "semaine"???
mais autrement tout va super bien, ca marche niquel!!!!
et vais être chiant, pour les mise a jour (lundi par ex), vu ce que j'ai remarquer, les feuilles sont protégées (comment enlevés la protection au cas ?? ) et si on veut mettre a jour un jour particulier, il faut penser a ne pas avoir effacer les données rentrées précédemment autrement tout sera effacer
 
Dernière édition:

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonsoir tout le monde
il y a besoin de laisser la semaine numéro 52 ?
(ou 53) Oui, si c'est celle de l'année précédente et qu'elle comprend des jours de janvier, et en la renommant Semaine_0 (3 cas 1er Janvier un vendredi un samedi ou un dimanche). Sinon comment totaliser le mois complet (l'option que j'ai prise). au pire pour cette année tu crées une feuille sans données à partir de la feuille Semaine. Dans le fichier joint il n'y a que la Semaine_0, vide de données, j'ai supprimer les semaines bidons que j'avais générées à des fin de test.
Plus tard on pourra outiller le changement d'année par un peu de code VBA.
et pourquoi chaque cellule est en menu déroulant ???
Comment pourrais je remplir les catégorie ?? et les motifs?? grâce a la feuille "tables" ou directement sur la feuille "semaine"???
Je n'avais pas percuté que la grille Catégories - Motifs était fixe, Je supprime cette option et l'onglet Tables (qui d'ailleurs ne fonctionne pas en 2019 !).
Pour tes Catégories et Motifs tu n'auras qu'à retirer la protection de la feuille Semaine et de la feuille Stats_Mensuelles pour remplir tes catégories (évite les cellules fusionnées : elles sont un peu difficiles à traiter par macro si cela s’avérer nécessaire. Répète la catégorie autant de fois qu'elle comporte de motifs, un format conditionnel se charge de masquer celles qui suivent la première occurrence)

pour les mise a jour (lundi par ex), vu ce que j'ai remarquer, les feuilles sont protégées (comment enlevés la protection au cas ?? ) et si on veut mettre a jour un jour particulier, il faut penser a ne pas avoir effacer les données rentrées précédemment autrement tout sera effacer
J'insiste : les saisies, toutes les saisies, doivent se faire dans la feuille Semaine. Quand on enregistre un jour, on n'affecte pas les autres jours de la semaine enregistrée et on n'efface pas les données correspondantes de la feuille Semaine. Mais je ne sais pas comment gérer l'enregistrement des informations qui ont pu changer d'un enregistrement sur l'autre du même jour (faut-il garder l'ancienne ou prendre la nouvelle ?)
Pour les rattrapages (si on a déjà saisie des informations de la nouvelle semaine dans un jour et que l'on veut modifier ce jour de la semaine précédente), au cas par cas, on peut ôter la protection (Onglet Révision, Ôter la protection de la feuille) ne pas oublier de la remettre une fois l'opération terminée. Cela évite les saisies accidentelle sur la mauvaise feuille. Tu avais dit :
Comme on est nombreux a utiliser le fichier, et pas forcement en même temps, et certaine personne ne penseront pas forcement a aller sur la feuille pour la semaine en cours par exemple

Reste le problème de l'enregistrement de la semaine complète qui elle écrase tout si l'on répond OUI à la question "Faut-il recréer la feuille ?"

Autre point, je suis absent pour une dizaine de jours et sans PC, mais les membres de XLD sont nombreux et ils auront sans doute de meilleures idées...

Amicalement
Alain
 

Pièces jointes

  • Stat Jour ou Semaine Mois.xlsm
    121.5 KB · Affichages: 11

mastergate

XLDnaute Nouveau
Bonjour
(ou 53) Oui, si c'est celle de l'année précédente et qu'elle comprend des jours de janvier, et en la renommant Semaine_0 (3 cas 1er Janvier un vendredi un samedi ou un dimanche). Sinon comment totaliser le mois complet (l'option que j'ai prise). au pire pour cette année tu crées une feuille sans données à partir de la feuille Semaine. Dans le fichier joint il n'y a que la Semaine_0, vide de données, j'ai supprimer les semaines bidons que j'avais générées à des fin de test.
Plus tard on pourra outiller le changement d'année par un peu de code VBA.
J'ai regarder et pour la semaine 52 a renommer, cela ne gene pas du tout..
Je n'avais pas percuté que la grille Catégories - Motifs était fixe, Je supprime cette option et l'onglet Tables (qui d'ailleurs ne fonctionne pas en 2019 !).
Pour tes Catégories et Motifs tu n'auras qu'à retirer la protection de la feuille Semaine et de la feuille Stats_Mensuelles pour remplir tes catégories (évite les cellules fusionnées : elles sont un peu difficiles à traiter par macro si cela s’avérer nécessaire. Répète la catégorie autant de fois qu'elle comporte de motifs, un format conditionnel se charge de masquer celles qui suivent la première occurrence)
je n'arrive toujours pas a comprendre l'utilité de la feuille tables ??? suis peut être bête ??
après je pourrais remplir les feuilles "semaine" et "stat_mens" cela n'est pas du tout gênant !!!
J'insiste : les saisies, toutes les saisies, doivent se faire dans la feuille Semaine. Quand on enregistre un jour, on n'affecte pas les autres jours de la semaine enregistrée et on n'efface pas les données correspondantes de la feuille Semaine. Mais je ne sais pas comment gérer l'enregistrement des informations qui ont pu changer d'un enregistrement sur l'autre du même jour (faut-il garder l'ancienne ou prendre la nouvelle ?)
Pour les rattrapages (si on a déjà saisie des informations de la nouvelle semaine dans un jour et que l'on veut modifier ce jour de la semaine précédente), au cas par cas, on peut ôter la protection (Onglet Révision, Ôter la protection de la feuille) ne pas oublier de la remettre une fois l'opération terminée. Cela évite les saisies accidentelle sur la mauvaise feuille. Tu avais dit :
je pense que je ferais une note explicative afin de remplir que le jour en cours, avec une mise a jour seulement en fin de boulot..
a la base j'avais trouver une option qui remplissais juste les cases nouvellement remplies sans effacées celles deja remplies ?? mais je n'y suis plus arriver ? la fonction que javais cree ne marche plus ??
on fera en remplissant sur la feuille correspondante ...
Reste le problème de l'enregistrement de la semaine complète qui elle écrase tout si l'on répond OUI à la question "Faut-il recréer la feuille ?"
pour moi c'est pas un problème, faudra juste de la rigueur pour ne faire une mise a jour qu'un fois par jour.

Apres pour le moment je dirais qu'il me reste juste a remplir les cellules motif et catégorie, le présenter a mon chef, et voir si il a encore des desideratas??

Je te dis a dans 10 jours, profite de cette deconnexion... Pour le moment, tu est le seul a m'avoir aider... pour cela je t'en remercie ..
 

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonsoir @mastergate, bonsoir à tous.
je n'arrive toujours pas a comprendre l'utilité de la feuille tables ???
C'était pour choisir les catégories et les motifs associés si, comme je le croyais au début, ils pouvaient varier d'une semaine sur l'autre.
Les validations des cellules catégories et motifs utilisaient ces tables.
Mais tout cela est caduque vu que la grille est immuable.
En plus comme je te l'ai dit, j'utilisais des fonctions office 365 ou 2021 qui ne marchent pas sous 2019 ni 2016. Donc on oublie.
Il me semble que je l'avais supprimé dans mon précédent envoi. (je ne peux pas vérifier je n'ai ici que mon mobile pour te répondre)

a la base j'avais trouver une option qui remplissais juste les cases nouvellement remplies sans effacées celles deja remplies
C'est en effet possible en ne remplaçant dans la feuille cible que les cellules vides de la colonne concernée.
Mais, je me répète, que faire si une donnée déjà enregistrée dans la feuille cible a été modifiée dans la feuille semaine ? On n'en tient pas compte ?
Réponds moi sur ce point car j'ai l'impression que l'on ne se comprend pas.
Bon c'est un peu galère avec mon téléphone alors je te dis à bientôt.

Amicalement
Alain
 

Discussions similaires

Statistiques des forums

Discussions
311 705
Messages
2 081 725
Membres
101 805
dernier inscrit
abrigy