XL 2019 (RESOLU) Cellule qui se met à jour par addition.

HamoudaBA

XLDnaute Occasionnel
Bonjour le fil,
j'ai un fichier avec plus de 7000 réferences, je cherche qu'à chaque fois j'ajoute une entrée en stock dans la feuille "saisie" la cumul m'affiche le total sans avoir de doublons de réferences.
je joins un fichier exemple.
Merci.
 

Pièces jointes

  • test.xlsm
    20.9 KB · Affichages: 50

HamoudaBA

XLDnaute Occasionnel
Ah oui ! C'est du lourd !
Qu'est-ce que tu veux faire dans ce fichier ? Comme tout et différent du 1er fichier je suis perdu.
Je ne sais pas ce qu'il y a à faire. Explique en indiquant les feuille & colonne (les 2).
C'est sûr que ça n'a rien à voir,
Voilà, à chaque reception de congé de maladie par exemple, j'insère l'identifiant Unique de l'agent (colonne B), en colonne F je choisis le type de fichier (le 1er par exemple congé de maladie), je met la durée en (colonne H), (MO pour maladie Ordinaire), la date du debut en (L),
Je cherche à avoir tout les congés de maladie en Feuille MO, si une ligne existe avec cet identifiant en colonne 2020 alors inscrire les maladies qui débutent en 2021 en colonne E de la feuille MO, sinon ajouter une ligne avec le nouveau identifiant en colonne A de MO de façon que s'il renouvelle un autre congé de maladie j'aurai la totalité de nombre de jour aquis en 2021.
Je sais que c'est un peu complexe à expliquer mais ..
 

Dudu2

XLDnaute Barbatruc
STP @HamoudaBA, arrête de ma parler de la colonne B. Je te l'ai déjà demandé.
La colonne B de quelle feuille ? Faut que je devine ?
STP reprends la même explication en indiquant de quelle feuille tu parles quand tu cites une colonne.
Colonne B de le feuille MO ? Colonne B de la feuille Base ? Je ne suis pas dans ta tête.
Merci d'être précis.
 

HamoudaBA

XLDnaute Occasionnel
STP @HamoudaBA, arrête de ma parler de la colonne B. Je te l'ai déjà demandé.
La colonne B de quelle feuille ? Faut que je devine ?
STP reprends la même explication en indiquant de quelle feuille tu parles quand tu cites une colonne.
Colonne B de le feuille MO ? Colonne B de la feuille Base ? Je ne suis pas dans ta tête.
Merci d'être précis.
La saisie ne se fais que dans l'onglet "base", l'onglet MO doit se mettre à jour selon les congés de maladies déjà saisis en "base".
 

Dudu2

XLDnaute Barbatruc
C'est sûr que ça n'a rien à voir
On aurait peut-être dû commencer avec ce fichier plutôt que partir sur un fichier bidon, tu ne crois pas ?

sinon ajouter une ligne avec le nouveau identifiant en colonne A de MO
Apparemment l'Identifiant en colonne A de la feuille MO n'est pas le seul composant de la ligne en feuille MO.
Il y a aussi le Nom et prénom et le Grade en colonne B et C de la feuille MO.
Le Nom et prénom est un formule.
Le Grade est une constante.
Il faut les ajouter aussi ou pas ?

L'identifiant vient de la colonne B de la feuille Base.
Le Grade vient de la colonne D de la feuille Base ?
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
Il y a ces noms en Gestionnaire de noms:

1611300161498.png


Est-ce que tu les utilises ?
Si non je vais virer les inutiles et renommer les 2 tableaux utiles (Tableau2 et Tableau32)
 

Dudu2

XLDnaute Barbatruc
Je n'arrive pas à entrer des String en caractères arabes dans le code.
Pour les colonnes je vais donc utiliser les numéros des colonnes plutôt que leurs titres.

Ton truc est compliqué car je ne sais pas ce qu'il faut faire.
- Est-ce que la colonne 2020 de la feuille MO représente la somme des jours MO (colonne MO) de la feuille Base de l'Identifiant en 2020 ?
- Si les dates de MO en feuilles Base sont sur à cheval 2020 et 2021, comment fais-tu pour répartir les jours sur 2020 et 2021 en feuille MO ?
- Est-ce que la somme des jours en feuille MO est calculée par une formule (genre SOMMEPROD sur des colonnes de la feuille Base) ou bien est-ce à cumuler avec le code à l'ajout d'une ligne en feuille Base ?

Sinon, on ne peut ajouter l'Identifiant nouveau automatiquement que si toutes les autres colonnes de la feuille MO sont des formules qui se placeraient automatiquement par le tableau structuré, ce qui n'est pas le cas.

En effet, la saisie de l'identifiant en feuille Base ne peut pas être le déclencheur car on ne sait pas si les autres données (MO, Date) ont été saisies en feuille Base à ce moment là (probablement non).
Donc il faut choisir le déclencheur de la mise à jour de la feuille MO:
- la saisie du MO de la feuille Base
- un double-clic sur l'Identifiant ou le MO de la feuille Base
- autre à définir

A mon avis ce serait beaucoup plus simple de regénérer la feuille MO complètement à partir d'un bouton plutôt que de bidouiller des modifs différentielles incertaines.

Peut-être que je me pose trop de questions...
Dis-moi très précisément ce qu'il faut faire dans quelles conditions précise et je le coderai.
 
Dernière édition:

HamoudaBA

XLDnaute Occasionnel
Je n'arrive pas à entrer des String en caractères arabes dans le code.
Pour les colonnes je vais donc utiliser les numéros des colonnes plutôt que leurs titres.

Ton truc est compliqué car je ne sais pas ce qu'il faut faire.
- Est-ce que la colonne 2020 de la feuille MO représente la somme des jours MO (colonne MO) de la feuille Base de l'Identifiant en 2020 ?
- Si les dates de MO en feuilles Base sont sur à cheval 2020 et 2021, comment fais-tu pour répartir les jours sur 2020 et 2021 en feuille MO ?
- Est-ce que la somme des jours en feuille MO est calculée par une formule (genre SOMMEPROD sur des colonnes de la feuille Base) ou bien est-ce à cumuler avec le code à l'ajout d'une ligne en feuille Base ?

Sinon, on ne peut ajouter l'Identifiant nouveau automatiquement que si toutes les autres colonnes de la feuille MO sont des formules qui se placeraient automatiquement par le tableau structuré, ce qui n'est pas le cas.

En effet, la saisie de l'identifiant en feuille Base ne peut pas être le déclencheur car on ne sait pas si les autres données (MO, Date) ont été saisies en feuille Base à ce moment là (probablement non).
Donc il faut choisir le déclencheur de la mise à jour de la feuille MO:
- la saisie du MO de la feuille Base
- un double-clic sur l'Identifiant ou le MO de la feuille Base
- autre à définir

A mon avis ce serait beaucoup plus simple de regénérer la feuille MO complètement à partir d'un bouton plutôt que de bidouiller des modifs différentielles incertaines.

Peut-être que je me pose trop de questions...
Dis-moi très précisément ce qu'il faut faire dans quelles conditions précise et je le coderai.
Bonjour Dudo2
- La colonne 2020 de la feuille MO sert à me renseigner de la somme des maladies de chaque identifiant en 2020, je cherche à avoir la même chose en colonne 2021 de la feuille MO.
- Si des dates sont à cheval entre 2020 et 202, on compte le nombre de jours de 2020 et le reste est reporté sur 2021.
- La somme des jours de la feuille MO est calculée soit par SOMMEPROD de chaque identifiant qui à un arrêt de travail suite maladie ordinaire (donc la colonne MO de la feuille base renseignée) ou par code.
- Pour ce qui est gestionnaire de nom, je n'utilise plus le VarEclairages vu qu'il allordit le fichier dons à supprimer et ne garder que les Tableaux 1 et 32
- Le déclencheur est la saisie du nombre de jours dans la colonne MO de la Feuille base.
Merci et Bonne journée
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
Avant de coder, je vais écrire ce que tu veux que je fasse.
- Lorsque une valeur est saisie dans la colonne MO de la feuille Base on déclenche le traitement.
(Il peut s'agir d'une nouvelle valeur créée ou un ancienne valeur modifiée)
- Si l'Identifiant de la feuille Base n'est pas déjà présent dans les Identifiants de la feuille MO (nouvel Identifiant) on ajoute l'Identifiant en fin de liste en feuille MO.
- Si on ajoute l'Identifiant (nouvel Identifiant) en fin de liste, il faut aussi ajouter la formule du Nom et prénom et le Grade (D'où provient le Grade ?) en feuille MO et calculer (nouvel Identifiant) ou recalculer (Identifiant existant) les colonne années (2020, 2021) de la feuille MO.
- Pour chaque colonne année (2020, 2021) de la feuille MO on calcule la somme des MO en feuille Base pour cet identifiant et pour l'année correspondante.
- Si des dates sont à cheval entre 2020 et 2021, on compte le nombre de jours de 2020 et le reste est reporté sur 2021.
Facile à écrire ! Mais moi je ne sais pas faire. Comment est calculé le nombre de jours entre 2 dates, weekends, jours fériés ? Quels sont les jours fériés ? Jours calendaires ou jours ouvrables ou jours ouvrés ?
Donc l'année correspondante sera l'année de la date de début uniquement, sauf si tu m'expliques comment répartir les jours entre 2 années.
Sinon, il faut créer 2 lignes en feuille Base, une pour l'année N et l'autre pour l'année N+1 pour une même période.
 

HamoudaBA

XLDnaute Occasionnel
Avant de coder, je vais écrire ce que tu veux que je fasse.
- Lorsque une valeur est saisie dans la colonne MO de la feuille Base on déclenche le traitement.
(Il peut s'agir d'une nouvelle valeur créée ou un ancienne valeur modifiée)
- Si l'Identifiant de la feuille Base n'est pas déjà présent dans les Identifiants de la feuille MO (nouvel Identifiant) on ajoute l'Identifiant en fin de liste en feuille MO.
- Si on ajoute l'Identifiant (nouvel Identifiant) en fin de liste, il faut aussi ajouter la formule du Nom et prénom et le Grade (D'où provient le Grade ?) en feuille MO et calculer (nouvel Identifiant) ou recalculer (Identifiant existant) les colonne années (2020, 2021) de la feuille MO.
- Pour chaque colonne année (2020, 2021) de la feuille MO on calcule la somme des MO en feuille Base pour cet identifiant et pour l'année correspondante.

Facile à écrire ! Mais moi je ne sais pas faire. Comment est calculé le nombre de jours entre 2 dates, weekends, jours fériés ? Quels sont les jours fériés ? Jours calendaires ou jours ouvrables ou jours ouvrés ?
Donc l'année correspondante sera l'année de la date de début uniquement, sauf si tu m'expliques comment répartir les jours entre 2 années.
Sinon, il faut créer 2 lignes en feuille Base, une pour l'année N et l'autre pour l'année N+1 pour une même période.
Oui je vous comprend, mais chez nous ce n'est pas pareil, on compte tout pour les dates entre cheval exemple: un arrêt de travail pour cause de maladie de 10 jours qui commence le 26/12/2020, du 26 au 31/12/2020 est calculé sur l'année 2020 et du 01/01/2021 au 04/01/2021 sur l'année 2021.
Le grade provient de la Feuille effectif colonne E.
 

Dudu2

XLDnaute Barbatruc
@mara58, oui ça pourrait être une solution. Attention 2 choses !
- Le tableau que tu utilises n'est pas le bon, car @HamoudaBA n'a pas fournit le tableau "réel" en début de discussion ! Voir le post #16 pour le tableau "réel".
- Il faut faire une répartition par année et ce n'est pas direct à cause des chevauchements possibles des périodes sur 2 ans.
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
Le grade provient de la Feuille effectif colonne E.
Il faut donc remplacer la valeur constante de la colonne Grade de la feuille MO par une formule:
=SI(A2<>"";RECHERCHEV(A2;EFFECTIF!A$1:F$9002;5;FAUX);"")
Par contre on obtient par formule une valeur qui est différente, la constante étant précédée du chiffre 1 ou autre.
 

Discussions similaires

Réponses
13
Affichages
367

Statistiques des forums

Discussions
312 321
Messages
2 087 235
Membres
103 497
dernier inscrit
JP9231