Je me permets de poster sur le forum pour avoir un petit peu d’aide.
Voilà mon problème :
J’ai un 1er classeur général qui doit être complété par un responsable avec des éléments à adresser aux différents agents. A l’intérieur de ce classeur, j’ai un 2ème onglet avec des filtres pour afficher les éléments d’une seule personne.
J’ai un 2éme classeur individuel pour chaque agents qui affiche les éléments du 1er classeur / 2ème onglet pour seul l’agent concerné, cependant les liaisons ne se font pas correctement.avec le 1er classeur.
En effet, si dans mon 1er tableau je modifie dans l’onglet 2 le destinataire, seul le contenu de l’onglet 2 s’enregistre dans mon 2ème classeur.
En gros si dans mon onglet 2 je demande pour « MS », bah tous mes classeurs individuels vont m’afficher les éléments de « MS » et pas les leurs…
Est-il possible de bloquer les liaisons pour que chaque personne n’ait dans son tableau individuel que ceux qui le concerne ?
Bloquer des liaisons je ne pense pas
Où elles y sont où elles n’y sont pas mais on ne peux les activer ou désactiver à la demande en les maintenant
Pour résoudre ta difficulté pourquoi ne ferais tu pas autant d’onglet distinct que de destinataires
Puis à chacun de lui mettre à disposition un fichier qui pointerait sur l’onglet en rapport
Il ne serait donc concerné que par les évolutions de son onglet et pas celui des autres
Une manière de cibler les destinataires avec leur fichier
Déjà merci pour votre retour.
Pour rapatrier les données dans un onglet distinct, il faudrait passer par de la recherchev ? ou je continue à passer par une formule INDEX ?
Bonjour
Soit réaliser directement dans chaque onglet la saisie au lieu de l’onglet « Collectif » commun
soit utiliser une procédure VBA déclenchée par bouton qui enrichirait chaque onglet approprié en fonction des saisies réalisées (soit l’intégralité avec un nettoyage de chacun en préambule soit uniquement les nouvelles mais il faut un moyen de les détecter tague à mettre par exemple en première colonne sur les nouvelles lignes qui serait supprimé par la procédure après son intégration)
Bonjour,
Dans l’idéal, il faut une saisie collective dans un onglet et derrière une répartition automatique dans chaque onglet.
Quel est le type de macro à utiliser ? C’est une simple MAJ de données ? Je ne peux pas le faire avec des formules matricielles ?
Merci d’avance
Pour la macro soit un traitement qui réinitialise l’intégralité de chaque onglet des données des lignes sur la base du destinataire colonne A onglet « Collectif » soit un traitement qui rajoute ceux-ci au gré des saisie à déterminer un moyen de les cibler (couleur côche ou recherche d’une donnée clef à savoir laquelle)
Dans cette deuxième option faut il prévoir des modifications d’enregistrement déjà intégré avec même problématique pour les cibler
C’est une simple actualisation de chaque onglet (ajout et peut être modification)
Par formule je ne pourrais beaucoup t’aider n’étant pas un expert dans ce domaine
Mais le morcellement des saisies de chaque destinataire dans l’onglet collectif risque avec cette solution d’engendrer une discontinuité dans l’onglet de chacun ce que n’induira pas la solution VBA
A voir avec des spécialistes
A ta disposition pour la mise en place par traitement
Alors je l’ai fait en 2 étapes :
Dans un 1er temps, j’ai utilisé une recherchev pour créer un onglet par destinataires.
Dans un 2nd temps j’ai inséré une macro de recopie dans une nouvelle feuille mais je rencontre un problème avec celle-ci car il faut que les 2 fichiers soit ouverts et cela n’est pas pratique pour nous car ce n’est pas les mêmes personnes qui gèrent les 2 classeur… Est-il possible d’insérer une macro qui n’oblige pas l’ouverture du classeur source ?
Je vous mets les 2 fichiers Administration_du_Personnel.xlsm (71,2 Ko) Tableau_bord_RH.xlsm (376,5 Ko)
Si tu recopie par macro les données de l’onglet « Collectif » sur le bon onglet de destination en fonction du destinataire de la colonne A je ne comprends pas pourquoi tu as besoin du 2° fichier ouvert
Cette action ne concerne que le 1° fichier non le second
Pour le second il faudra simplement adapter ses formules pour les faire pointer sur le bon onglet et non sur l’onglet « Collectif » c’est tout
une autre personne ouvre le tableau individuel de son service
Je veux que l’agent qui fait la 2éme étape ait son tableau MAJ automatiquement mais on est d’accord qu’avec la macro que j’ai inséré ici il faille activer la macro dès un ajout ?
Et j’ai essayé quand mon tableau source et fermé je n’arrive pas à activer ma macro
Une proposition avec Power Query, si ta version est compatible, qui ne nécessite pas l’ouverture du Tableau de bord RH.
(PQ est en add-on pour office 2010 pro et 2013 et en natif à partir de 2016.)
Cordialement Administration_du_Personnel.xlsm (23,3 Ko) Tableau_bord_RH.xlsm (379,7 Ko)
J’ai mis la donnée « NOUVEL ESSAI » dans toutes les colonnes de E à L
Puis je clique sur le bouton « Recopie » situé en haut à gauche de cet onglet « Collectif » et j’obtiens après l’activation de ce bouton onglet « CD » ceci :
ma dernière saisie s’y trouve et ce sans ouvrir le 2° fichier
Pas besoin du 2° fichier pour réaliser ces opérations de saisie et de recopie dans les onglets appropriés il suffit après la saisie dans l’onglet « Collectif » de cliquer sur le bouton « Recopie »
N’importe quel utilisateur sans compétence particulière peux réaliser cette même opération
C’est tout
Reste à adapter les formules du 2° fichier pour les orienter sur le bon onglet de ce 1° fichier
Ton dernier fichier avec ma procédure et le bouton
Bonjour Zebulon,
J’ai une version 2013 sans Power Query mais malheureusement ce n’est pas moi qui saisira les données. Dois-on installer sur tous les postes Power Query ?
En quoi consiste exactement Power Query ?
Merci
Bonjour FFO,
Déjà merci beaucoup pour le temps passé dessus !!!
Alors d’abord en effet je trouve ça plus pratique de passer par une macro pour faire la recopie, ça éviter les mauvaises manipulations.
Par contre pour la recopie des onglets individuels vers un classeur individuel, puis-je passer « tout simplement » par une macro de recopie qui se mettra automatiquement à jour dès lors qu’une saisie aura été effectuée sur le tableau général ?
Et maintenant je vais aller étudier la macro que vous avez fait pour essayer de la comprendre
La recopie vers les classeur individuel est tout à fait réalisable mais sous les conditions suivantes :
Le classeur individuel ne doit pas être en cours d’utilisation
Le classeur individuel doit être enregistré dans un répertoire bien déterminé avec un libellé spécifique pour chacun d’eux sinon si ceux-ci sont aléatoire une action de l’utilisateur sera nécessaire pour aller le sélectionner
La réinitialisation de ses données pour la réintégration de ceux-ci sur la base du fichier de saisie compromettra la présence d’annotation réalisée par ses utilisateurs (cette option peux malgré tout être envisagée mais avec un traitement adapté)
Dans cette éventualité 2 solutions :
Soit directement mettre à jour les classeurs individuels au grés des saisie dans le classeur général sans passer par les onglets intermédiaire (cela nécessite que tous ces classeurs soit chacun avec une appellation distincte et dans un même répertoire et libre de toute utilisation au moment de la mise à jour)
Soit utiliser les onglets intermédiaires du classeur général pour récupérer les nouvelles saisies puis de les injecter dans les classeurs individuels appropriés à heures et jours déterminés de préférence quand ceux-ci sont libres de toute utilisation (toujours la nécessité d’un même répertoire et d’appellation stable et distinct pour chacun d’eux)
Avec les formules ciblées sur l’onglet approprié ces impératifs sont évités mais celles-ci sont à adapter dans chaque classeur individuel et alourdissent leur fonctionnement
A toi de voir
Pour le code mis en place à ta disposition pour toute explication
Malheuresment cela va être compliqué pour nous d’installer Power Query sur tout les postes
Merci pour la documentation, je vais regarder tout ça, cela me servira tout de même à un autre moment.
Merci beaucoup
FFO, les onglets individuels créer dans le tableau de bord général n’était q’un moyen pour moi d’essayer d’avoir des onglets que je pourrais recopier dans un autre fichier. Ils ne sont pas utiles à l’utilisation du tableau de bord général.
Si jamais nous pouvons recopier les éléments du 1er onglet du tableau de bord selon le destinaire dans un classeur distinct, cela serait top !!
Les différents classeur seront mis dans un même dossier et ils n’y bougeront pas.
C’est vrai qu’une MAJ à heures déterminées serait optimale pour la gestion.
Les annotations seront dans la cellule Commentaires donc pas d’autres annotations dans l’onglet.
Les classeurs seront libres si on peut faire une MAJ à une heure donnée (ex : 08h00).
Les noms ne changeront (ex: Administration du personnel)
Si besoin on peut les nommer comme la colonne B (NBH/CD/etc…)
merci pour tout
Je te propose donc de conserver le traitement déjà mis en place car il est plus simple pour celui-ci de mettre à jour des onglets du même classeur ligne par ligne de l’onglet « Collectif » en fonction de la donnée « Destinataire » colonne B de celui-ci plutôt qu’un classeur à ouvrir avant pour cette même opération puis en fin de ce traitement suite à une validation d’une boîte de dialogue d’aller en une seule fois actualiser ceux-ci des données regroupées de l’onglet en correspondance
Je te transmet une nouvelle version dans cet esprit dés que possible