XL 2019 Tableau de bord

  • Initiateur de la discussion Initiateur de la discussion lcouaci
  • 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 !

lcouaci

XLDnaute Junior
Salut le Forum et BONNE ANNEE à tous !

Je souhaiterais faire un tableau de bord afin d'afficher les accident du travail par année, comme sur l'image
en dessous !
Annotation 2021-01-15 000029.jpg

Je souhaiterais récupérer mes informations : effectif et Nombre Accidents sur des feuilles "2019"; "2020"; "2021"...; "20..n.

Comment procéder pour avoir mes informations sur chaque colonne pour année "An" créer, dans mon tableau "Bilan Annuel" sur ma feuille Tableau de bord?

Effectif= l'effectif total des agents de la boite

Nombre accident de travail=maximum de "N° d'ordre", mais comment générer une numérotation automatiser pour chaque entrée? car ma formule "=rang() -1)" ne fonctionne pas

Cordialement, et Merci au forum !!!
 

Pièces jointes

Solution
E
Bonjour @lcouaci et @Rouge,

"récupérer les informations effectif et nombre d'accident sur les feuilles "2019", etc."
C'est problématique, car il n'y a aucune mention du nombre de salarié sur la feuille 2019 (ni les autres).
En revanche le nombre d'accident est bien récupéré aujourd'hui avec la formule que j'ai modifiée un peu en C7:H7 :
Code:
=SIERREUR(MAX(INDIRECT("'"&Tableau1[[#En-têtes];[2019]]&"'!A:A"));"")
Idem pour le pourcentage pour éviter un message d'erreur :
Code:
=SIERREUR((C7*100)/C6;"")

Il me semble inutile de préciser l'année (colonne M des onglets 2019:2021), d'autant qu'il y a déjà des erreurs aujourd'hui en 2021 😉

Et pour compléter la suggestion de Rouge je te propose de mettre ce code en colonne A de...
Bonjour,

Pas tout compris, le nombre de personnes dans l'entreprise est-il constant? sinon où trouver l'information?
Pour les numéros d'ordre, je suppose que cela concerne les feuilles "2019, 2020, 2021", si c'est bien cela,
dans la cellule A2 de chaque feuille, écrivez ceci
=LIGNE()-1
et tirer la formule vers le bas

Cdlt
 
Bonjour @lcouaci et @Rouge,

"récupérer les informations effectif et nombre d'accident sur les feuilles "2019", etc."
C'est problématique, car il n'y a aucune mention du nombre de salarié sur la feuille 2019 (ni les autres).
En revanche le nombre d'accident est bien récupéré aujourd'hui avec la formule que j'ai modifiée un peu en C7:H7 :
Code:
=SIERREUR(MAX(INDIRECT("'"&Tableau1[[#En-têtes];[2019]]&"'!A:A"));"")
Idem pour le pourcentage pour éviter un message d'erreur :
Code:
=SIERREUR((C7*100)/C6;"")

Il me semble inutile de préciser l'année (colonne M des onglets 2019:2021), d'autant qu'il y a déjà des erreurs aujourd'hui en 2021 😉

Et pour compléter la suggestion de Rouge je te propose de mettre ce code en colonne A de chaque feuille 2019:2021 :
Code:
=SI(ESTTEXTE([Service]);LIGNE()-1;"")

A suivre.
 

Pièces jointes

Bonjour,

Pas tout compris, le nombre de personnes dans l'entreprise est-il constant? sinon où trouver l'information?
Pour les numéros d'ordre, je suppose que cela concerne les feuilles "2019, 2020, 2021", si c'est bien cela,
dans la cellule A2 de chaque feuille, écrivez ceci
=LIGNE()-1
et tirer la formule vers le bas

Cdlt
Merci, avec mes recherche sur la fonction ligne j'ai pu trouver cette information; et cette partie de mon projet est réglée.
Ma préoccupation, c'est comment rapatrier les informations des autres feuilles, et éventuellement des nouvelles feuilles à venir, sur ma seule feuille "tableau de bord" ?

Grand merci à vous, pour votre contribution !
 
Bonjour @lcouaci et @Rouge,

"récupérer les informations effectif et nombre d'accident sur les feuilles "2019", etc."
C'est problématique, car il n'y a aucune mention du nombre de salarié sur la feuille 2019 (ni les autres).
En revanche le nombre d'accident est bien récupéré aujourd'hui avec la formule que j'ai modifiée un peu en C7:H7 :
Code:
=SIERREUR(MAX(INDIRECT("'"&Tableau1[[#En-têtes];[2019]]&"'!A:A"));"")
Idem pour le pourcentage pour éviter un message d'erreur :
Code:
=SIERREUR((C7*100)/C6;"")

Il me semble inutile de préciser l'année (colonne M des onglets 2019:2021), d'autant qu'il y a déjà des erreurs aujourd'hui en 2021 😉

Et pour compléter la suggestion de Rouge je te propose de mettre ce code en colonne A de chaque feuille 2019:2021 :
Code:
=SI(ESTTEXTE([Service]);LIGNE()-1;"")

A suivre.
Merci,
oui en effet, les effectifs trop changeant c'est pourquoi j'ai préféré qu'on inscrivent chaque année, dans "Tableau de bord".
Mais là n'est pas mon souci.
Aussi (colonne M des onglets 2019:2021) est inutile comme suggérer.

Juste vous dire un grand merci, pour votre contribution !


Du coup, mon projet est résolu !!!
 
Bonjour @lcouaci et @Rouge,

"récupérer les informations effectif et nombre d'accident sur les feuilles "2019", etc."
C'est problématique, car il n'y a aucune mention du nombre de salarié sur la feuille 2019 (ni les autres).
En revanche le nombre d'accident est bien récupéré aujourd'hui avec la formule que j'ai modifiée un peu en C7:H7 :
Code:
=SIERREUR(MAX(INDIRECT("'"&Tableau1[[#En-têtes];[2019]]&"'!A:A"));"")
Idem pour le pourcentage pour éviter un message d'erreur :
Code:
=SIERREUR((C7*100)/C6;"")

Il me semble inutile de préciser l'année (colonne M des onglets 2019:2021), d'autant qu'il y a déjà des erreurs aujourd'hui en 2021 😉

Et pour compléter la suggestion de Rouge je te propose de mettre ce code en colonne A de chaque feuille 2019:2021 :
Code:
=SI(ESTTEXTE([Service]);LIGNE()-1;"")

A suivre.
salut,

Juste profiter de toi à nouveau
alors dans ton code =SIERREUR(MAX(INDIRECT("'"&Tableau1[[#En-têtes];[2019]]&"'!A:A"));"") veux tu m'expliquer pas à pas la référence dans la fonction INDIRECT =("'"&Tableau1[[#En-têtes];[2019]]&"'!A:A"));"") car je connais pas cette fonction. A dire vrai, je la découvre avec toi.

Est ce qu'il n y a pas plus simple de faire cette fonction dans mon cas ?

De même pour ton code =SI(ESTTEXTE([Service]);LIGNE()-1;"")

je trouve =ligne()-1 est plus simple
 
Bonjour @lcouaci,

Pour faire référence à une valeur inscrite dans un autre onglet il faut faire un lien de la forme :
Code:
='2020'!B5
On met le nom de l'onglet entre guillemet simple ('2020') + point d'exclamation (!) + référence de la cellule (B5).
Donc =INDIRECT('2020'!B5) fonctionne exactement comme ='2020'!B5
Mais pour qu'Excel interprète des données si on les génère dynamiquement, on doit l'intégrer dans une formule INDIRECT() qui va "lire" le contenu qui se trouve entre parenthèse et s'y rendre pour en extraire les données.
Dans la formule, au lieu d'indiquer en dur la valeur de l'année, je vais la chercher dans le tableau (Tableau1[[#En-têtes];[2019]]). Ceci est créé dynamiquement par Excel, même si on l'impression que c'est statique.
Le signe & sert uniquement à concaténer des éléments entre eux sans utiliser la formule CONCATENER(), trop lourde :
Code:
"bon"&"jour" = "bonjour"
Donc avec cette formule en C7 je vais chercher les valeurs dans la colonne A:A de l'onglet en référence :
Code:
INDIRECT("'"&Tableau1[[#En-têtes];[2019]]&"'!A:A") = '2019'!A:A

Ensuite, tu proposes de simplifier
Code:
=SI(ESTTEXTE([Service]);LIGNE()-1;"")
Tu as raison, le résultat est le même s'il s'agit de numéroter les lignes. En apparence. Car si tu recopies ta formule dans les cellules A2 à A40, tu vas avoir une valeur maximum à 39 (en A40), et elle va apparaître dans ton tableau de synthèse puisqu'on prend la valeur maximale présente dans la colonne A.
Pour contourner cela, je n'affiche le numéro de la ligne que lorsqu'une valeur est remplie dans la cellule adjacente (colonne service), et rien sinon. Du coup, si je recopie ma formule dans les cellules A2 jusqu'à A40, le tableau de synthèse ne va compter que les lignes ayant été complétées à minima sur le service concerné.

Mais tu pourrais aussi souhaiter ne comptabiliser que les lignes d'accident de travail suffisamment renseignées. Et définir que "suffisamment" signifie que tu as pu compléter au moins 15 cellules sur les 17 colonnes que compte ton tableau. Tu pourrais alors transformer la formule ainsi :
Code:
=SI(NBVAL(B2:R2)>=15;LIGNE()-1;"")


A suivre.
 
Dernière modification par un modérateur:
Bonjour @lcouaci,

Pour faire référence à une valeur inscrite dans un autre onglet il faut faire un lien de la forme :
Code:
='2020'!B5
On met le nom de l'onglet entre guillemet simple ('2020') + point d'exclamation (!) + référence de la cellule (B5).
Donc =INDIRECT('2020'!B5) fonctionne exactement comme ='2020'!B5
Mais pour qu'Excel interprète des données si on les génère dynamiquement, on doit l'intégrer dans une formule INDIRECT() qui va "lire" le contenu qui se trouve entre parenthèse et s'y rendre pour en extraire les données.
Dans la formule, au lieu d'indiquer en dur la valeur de l'année, je vais la chercher dans le tableau (Tableau1[[#En-têtes];[2019]]). Ceci est créé dynamiquement par Excel, même si on l'impression que c'est statique.
Le signe & sert uniquement à concaténer des éléments entre eux sans utiliser la formule CONCATENER(), trop lourde :
Code:
"bon"&"jour" = "bonjour"
Donc avec cette formule en C7 je vais chercher les valeurs dans la colonne A:A de l'onglet en référence :
Code:
INDIRECT("'"&Tableau1[[#En-têtes];[2019]]&"'!A:A") = '2019'!A:A

Ensuite, tu proposes de simplifier
Code:
=SI(ESTTEXTE([Service]);LIGNE()-1;"")
Tu as raison, le résultat est le même s'il s'agit de numéroter les lignes. En apparence. Car si tu recopies ta formule dans les cellules A2 à A40, tu vas avoir une valeur maximum à 39 (en A40), et elle va apparaître dans ton tableau de synthèse puisqu'on prend la valeur maximale présente dans la colonne A.
Pour contourner cela, je n'affiche le numéro de la ligne que lorsqu'une valeur est remplie dans la cellule adjacente (colonne service), et rien sinon. Du coup, si je recopie ma formule dans les cellules A2 jusqu'à A40, le tableau de synthèse ne va compter que les lignes ayant été complétées à minima sur le service concerné.

Mais tu pourrais aussi souhaiter ne comptabiliser que les lignes d'accident de travail suffisamment renseignées. Et définir que "suffisamment" signifie que tu as pu compléter au moins 15 cellules sur les 17 colonnes que compte ton tableau. Tu pourrais alors transformer la formule ainsi :
Code:
=SI(NBVAL(B2:R2)>=15;LIGNE()-1;"")


A suivre.
Salut,
J'ai bien pris note de ton explication et grand merci à toi . Ça va maintenant !

Cordialement..
 
Bonjour lcouaci, le fil,

pour marquer le sujet comme clos, tu dois cliquer sur la coche ☑️ du post
qui a résolu ton exo Excel ; ici, ça a l'air d'être le post #3 d'Exl-Noob (salut) ;
avant, on pouvait mettre en résolu plus d'un post mais plus maintenant ;
c'est bien dommage ! 😭

le ☑️ dont j'ai parlé est en fait dans un rond gris, sur le bord droit du post (sous un chiffre) ;
le rond deviendra vert quand tu auras cliqué dessus ; bord droit : sera en vert également.


soan
 
Dernière édition:
- 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

Discussions similaires

Réponses
0
Affichages
235
Réponses
5
Affichages
442
  • Question Question
Microsoft 365 Tableau de bord
Réponses
2
Affichages
1 K
Réponses
0
Affichages
1 K
Retour