XL 2016 Afficher les jours et les dates dans un fichier mensuel

vivi21

XLDnaute Occasionnel
Bonjour,

Je souhaite afficher les jours et les dates automatiquement en fonction du mois dans un fichier mensuel et peut-être en référence avec l'année.

Je vous joins mon document.

Merci pour vos aiguillages et votre aide.
Vivi
 

Pièces jointes

  • test_jour.xlsx
    19.5 KB · Affichages: 14

p56

XLDnaute Occasionnel
Oooh bien vu!

Dans la procédure Complete (module Accueil), il y a une condition du genre :

If Td(i, 2) >= Dt0 And Td(i, 2) < Dt0 + 30 And ...

Il faut ajouter un signe égal comme ceci :

If Td(i, 2) >= Dt0 And Td(i, 2) <= Dt0 + 30 And ...


Ou pour être plus précis, on pourrait écrire plutôt :

If Td(i, 2) >= Dt0 And Td(i, 2) < DateAdd("m", 1, Dt0) And ...


Sinon l'affichage ou non du zéro est limité par défaut à la feuille affichée (sans aucune incidence sur les autres classeurs)
Ceci dit afficher le zéro permet aussi de montrer les données qui ont été corrigées ...

Merci du signalement des "31"!
P.
 

vivi21

XLDnaute Occasionnel
Oooh bien vu!

Dans la procédure Complete (module Accueil), il y a une condition du genre :

If Td(i, 2) >= Dt0 And Td(i, 2) < Dt0 + 30 And ...

Il faut ajouter un signe égal comme ceci :

If Td(i, 2) >= Dt0 And Td(i, 2) <= Dt0 + 30 And ...


Ou pour être plus précis, on pourrait écrire plutôt :

If Td(i, 2) >= Dt0 And Td(i, 2) < DateAdd("m", 1, Dt0) And ...


Sinon l'affichage ou non du zéro est limité par défaut à la feuille affichée (sans aucune incidence sur les autres classeurs)
Ceci dit afficher le zéro permet aussi de montrer les données qui ont été corrigées ...

Merci du signalement des "31"!
P.
Bonjour P56,

Encore merci pour ces précisions et de ton aide précieuse.
Est-il possible de bloquer la zone G4 à N34 pour que l'on puisse uniquement saisir 0;0,5 ou 1 ?
Effectivement suite à une erreur de saisie j'ai tapé 11. J'ai remis 0 pour annuler mais dans le feuille BDD il a gardé le 11 et ajouter une ligne 0. Et conclusion faussé mes calculs mensuels, annuels..

Bonne journée,
Virginie
 

vivi21

XLDnaute Occasionnel
Bonjour P56,

Encore merci pour ces précisions et de ton aide précieuse.
Est-il possible de bloquer la zone G4 à N34 pour que l'on puisse uniquement saisir 0;0,5 ou 1 ?
Effectivement suite à une erreur de saisie j'ai tapé 11. J'ai remis 0 pour annuler mais dans le feuille BDD il a gardé le 11 et ajouter une ligne 0. Et conclusion faussé mes calculs mensuels, annuels..

Bonne journée,
Virginie
De nouveau,

Pour les lignes G35 à N35, j'ai mis des 1 par erreur et repasser sur chacune de mes erreurs à 0 cela cumule les 1 et fausse le résultat.
 

p56

XLDnaute Occasionnel
Bonjour Virginie,

Voilà des soucis qui me questionnent.
Dans le fichier "Mois_Vertical_3.xlsm" posté antérieurement et avec les divers correctifs, la ligne 35 est celle des totaux de chaque colonne de F à N, ce n'est pas une ligne de saisie de données.

Dans cette configuration je ne constate pas les effets indiqués (sur mon Pc : correction=ok, pas de cumul pirate)

Maintenant si une ou plusieurs lignes ont été ajoutées (entête?), ou s'il y a eu une modif de la structure de la feuille, il va probablement falloir revoir le code en conséquence. Pour le coup je veux bien une copie simplette uniquement de votre onglet Planning pour adapter correctement le code.



Sinon pour limiter la saisie aux 3 valeurs : 0, 0.5 et 1 :
* saisir ces 3 valeurs souhaitées dans une plage inutilisée quelconque (par exempe Z1, Z2 et Z3
* définir un nom pour la plage choisie, Formules/Gestionnaire de Noms/Nouveau => on peut donner un nom quelconque (par ex MesValeurs) pour la plage =Planning!$Z$1:$Z$3
* on va sélectionner alors la plage à limiter soit sur mon PC la plage G4:N34
* puis menu Données/Validation de données => page Options
* Autoriser => Personnalisé Formule =NB.SI(MesValeurs;G4)=1
* Cocher l'option Appliquer des modif aux cellules ...
(cf illustration)
* et valider
Capture d’écran 2023-01-05 134642.jpg

Si tout va bien la saisie sera limitée, pour la plage sélectionnée, aux seules 3 valeurs indiquées.

P.
 

vivi21

XLDnaute Occasionnel
Bonjour Virginie,

Voilà des soucis qui me questionnent.
Dans le fichier "Mois_Vertical_3.xlsm" posté antérieurement et avec les divers correctifs, la ligne 35 est celle des totaux de chaque colonne de F à N, ce n'est pas une ligne de saisie de données.

Dans cette configuration je ne constate pas les effets indiqués (sur mon Pc : correction=ok, pas de cumul pirate)

Maintenant si une ou plusieurs lignes ont été ajoutées (entête?), ou s'il y a eu une modif de la structure de la feuille, il va probablement falloir revoir le code en conséquence. Pour le coup je veux bien une copie simplette uniquement de votre onglet Planning pour adapter correctement le code.



Sinon pour limiter la saisie aux 3 valeurs : 0, 0.5 et 1 :
* saisir ces 3 valeurs souhaitées dans une plage inutilisée quelconque (par exempe Z1, Z2 et Z3
* définir un nom pour la plage choisie, Formules/Gestionnaire de Noms/Nouveau => on peut donner un nom quelconque (par ex MesValeurs) pour la plage =Planning!$Z$1:$Z$3
* on va sélectionner alors la plage à limiter soit sur mon PC la plage G4:N34
* puis menu Données/Validation de données => page Options
* Autoriser => Personnalisé Formule =NB.SI(MesValeurs;G4)=1
* Cocher l'option Appliquer des modif aux cellules ...
(cf illustration)
* et valider
Regarde la pièce jointe 1159558
Si tout va bien la saisie sera limitée, pour la plage sélectionnée, aux seules 3 valeurs indiquées.

P.
P56,

J'ai refait la manipulation pour mon erreur de frappe mais en fait instinctivement j'utilise la touche Supp pour supprimer l'erreur de frappe dans la cellule et du coup cela me le comptabilise dans la BDD. Sinon en mettant 0 c'est bon.

Pour la limite des 3 valeurs, la case "appliquer ces modification aux cellules de paramètres identiques est grisé" du coup je ne peux pas la cocher.
 

vivi21

XLDnaute Occasionnel
Bonjour Virginie,

Voilà des soucis qui me questionnent.
Dans le fichier "Mois_Vertical_3.xlsm" posté antérieurement et avec les divers correctifs, la ligne 35 est celle des totaux de chaque colonne de F à N, ce n'est pas une ligne de saisie de données.

Dans cette configuration je ne constate pas les effets indiqués (sur mon Pc : correction=ok, pas de cumul pirate)

Maintenant si une ou plusieurs lignes ont été ajoutées (entête?), ou s'il y a eu une modif de la structure de la feuille, il va probablement falloir revoir le code en conséquence. Pour le coup je veux bien une copie simplette uniquement de votre onglet Planning pour adapter correctement le code.



Sinon pour limiter la saisie aux 3 valeurs : 0, 0.5 et 1 :
* saisir ces 3 valeurs souhaitées dans une plage inutilisée quelconque (par exempe Z1, Z2 et Z3
* définir un nom pour la plage choisie, Formules/Gestionnaire de Noms/Nouveau => on peut donner un nom quelconque (par ex MesValeurs) pour la plage =Planning!$Z$1:$Z$3
* on va sélectionner alors la plage à limiter soit sur mon PC la plage G4:N34
* puis menu Données/Validation de données => page Options
* Autoriser => Personnalisé Formule =NB.SI(MesValeurs;G4)=1
* Cocher l'option Appliquer des modif aux cellules ...
(cf illustration)
* et valider
Regarde la pièce jointe 1159558
Si tout va bien la saisie sera limitée, pour la plage sélectionnée, aux seules 3 valeurs indiquées.

P.


Après essai sans cocher cela fonctionne parfaitement.
Merci Merci Merci.
Virginie
 

vivi21

XLDnaute Occasionnel
Ok,
Il ne faut pas contrarier les instincts. Pour pouvoir utiliser la touche Suppr., on peut modifier le début du code de le procédure Saisie comme ceci :
VB:
Sub Saisie(Rg As Range)
Dim T As Variant, deb As Single, fin As Single, Pause As Single

    If Ecrit Then Exit Sub
    With Sheets("Planning")
        If Rg.Column < 6 And Not .Cells(Rg.Row, "E").Value & .Cells(Rg.Row, "O").Value = "" Then

Sinon pour la case grisée, ç'est probablement à cause de la protection de la feuille.

P.
Bonjour P56,

Merci encore pour cette solution mais lorsque je l'applique voici mon résultat dans Bdd
1672985593404.png


Mon semaine du 6 au 10 novembre n'avait pas été saisi. J'ai saisie des 1 dans jour travaillé puis ensuite j'utilise SUPP ou 0 mais cela ne change pas mon total vu que les lignes où j'avais initialement noté 1 reste dans la bdd et ne s'annule pas.
Désolée de t'ennuyer encore.
Bonne journée,
Virginie.
 

p56

XLDnaute Occasionnel
Bonjour Virginie,

Il me semble que cet effet vient du fait des précédents "bugs" rencontrés.
D'après mes tests les dernières corrections sont ok pour moi.
MAIS il est utile de corriger auparavant "à la main" les lignes en double qui ont pu être créées antérieurement à tord par les "bugs".

Autre vérification à faire, les formules en lignes 37 et 38 pour les décomptes :
* en F37 (total année) on doit avoir :
=SOMME.SI.ENS(T_Bdd[Durée];T_Bdd[[Date]:[Date]];">="&DATE($B$2;1;1);T_Bdd[[Date]:[Date]];"<"&DATE($B$2+1;1;1);T_Bdd[[Salarié]:[Salarié]];$E$1)

* en F38 (total période) on doit avoir :
=SOMME.SI.ENS(T_Bdd[Durée];T_Bdd[[Date]:[Date]];">="&DATE($B$2;1;1);T_Bdd[[Date]:[Date]];"<="&DATE($B$2;C2+1;0);T_Bdd[[Salarié]:[Salarié]];$E$1)

Ces 2 formules sont à recopier vers la droite jusqu'à la colonne N (format heure pour F, format standard pour les autres)

Avec ces 2 vérif je ne constate pas d'incohérence de données ni de total.

Est-ce que j'ai bon cette fois-ci?
(on va y arriver un jour ...!)
P.
 

vivi21

XLDnaute Occasionnel
Bonjour Virginie,

Il me semble que cet effet vient du fait des précédents "bugs" rencontrés.
D'après mes tests les dernières corrections sont ok pour moi.
MAIS il est utile de corriger auparavant "à la main" les lignes en double qui ont pu être créées antérieurement à tord par les "bugs".

Autre vérification à faire, les formules en lignes 37 et 38 pour les décomptes :
* en F37 (total année) on doit avoir :
=SOMME.SI.ENS(T_Bdd[Durée];T_Bdd[[Date]:[Date]];">="&DATE($B$2;1;1);T_Bdd[[Date]:[Date]];"<"&DATE($B$2+1;1;1);T_Bdd[[Salarié]:[Salarié]];$E$1)

* en F38 (total période) on doit avoir :
=SOMME.SI.ENS(T_Bdd[Durée];T_Bdd[[Date]:[Date]];">="&DATE($B$2;1;1);T_Bdd[[Date]:[Date]];"<="&DATE($B$2;C2+1;0);T_Bdd[[Salarié]:[Salarié]];$E$1)

Ces 2 formules sont à recopier vers la droite jusqu'à la colonne N (format heure pour F, format standard pour les autres)

Avec ces 2 vérif je ne constate pas d'incohérence de données ni de total.

Est-ce que j'ai bon cette fois-ci?
(on va y arriver un jour ...!)
P.

Merci pour ta patiente à toutes épreuves.
Dans ma formule, je n'avais pas T_Bdd[[Date]:[Date]] mais uniquement T_Bdd[Date].
Pourrais-tu m'expliquer cet ajout.
Merci.
Virginie
 

vivi21

XLDnaute Occasionnel
C'est l'équivalent du $ dans les formules impliquant des tableaux structurés, pour permettre les recopies-vers-la-droite sans modif de la colonne.
Bonjour P56,
J'ai encore besoin d'un peu d'aide. J'ai un bug sur le planning.
Lorsque je tape 0.5 dans jours travaillés et 0.5 dans jours de repos sans passer à la ligne suivante il me créé une ligne supplémentaire avec 0.5 dans jours travaillés.
Cela ne le fait pas sur les autres colonnes par exemple si je mets 0.5congés pris et 0.5 dans congés forfait.
Merci pour ton aide précieuse.
Virginie
Capture d’écran 2023-01-10 143915.png
 

p56

XLDnaute Occasionnel
??
Votre fichier se comporte comme si le correctif du 19 dec n'avait pas été copié/collé dans le code.
De mon côté depuis ce correctif je ne constate pas cet effet et je n'arrive pas à reproduire ces lignes en doubles, pas de comportement non souhaité.
2 vérif à faire :
* vérifier l'application du correctif
* bien supprimer toutes les lignes en doublon de vos données (même valeur date)
P.
 

vivi21

XLDnaute Occasionnel
??
Votre fichier se comporte comme si le correctif du 19 dec n'avait pas été copié/collé dans le code.
De mon côté depuis ce correctif je ne constate pas cet effet et je n'arrive pas à reproduire ces lignes en doubles, pas de comportement non souhaité.
2 vérif à faire :
* vérifier l'application du correctif
* bien supprimer toutes les lignes en doublon de vos données (même valeur date)
P.
Bonsoir P56,
J'ai bien supprimé toutes mes lignes pour faire le test.
J'ai vérifié le correctif à part la ligne (voir le rouge) que j'ai mis en commentaire et que j'ai remplacé cela me met une erreur 1004 sur la ligne en rouge .cells......

Je ne voudrais pas t'ennuyer plus. Tu m'as super bien aidé et rare les erreurs que je vais avoir.
merci énormement.
Virginie


1673471361775.png


👏
 

Pièces jointes

  • vivi_accueil.txt
    5 KB · Affichages: 0
Dernière édition:

vivi21

XLDnaute Occasionnel
Aïe!
La rigueur dans la confusion est toujours mieux que la confusion dans la rigueur.
Dans le code tous les mots utilisés sont importants, nécessaires et indispensables.
Pour ce que je vois il y a encore des différences entre ce que j'ai écrit dans le correctif et dans votre code mis en image ...
P.
Bonjour P56,

J'ai oublié dans la fonction Sauve le 'as long' mais sans succès.
Du coup, j'ai recopié le correctif du 19 decembre mais j'ai toujours une erreur 1004.
Bonne journée,
Virginie.
 

p56

XLDnaute Occasionnel
L'erreur 1004 peut se produire quand on a mis des p#*&§n de protection.
Dans ce cas, il faut des unprotect/protect dans "Saisie".
(J'ai horreur de ces protections-fausse sécurité, souvent source de problèmes ...)
P.
 

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 536
dernier inscrit
komivi