XL 2010 "publipostage" excel vers nouveaux onglets excel

livli

XLDnaute Nouveau
Bonjour à tous,

Avec un mélange de formules Excel et de Macro, voici ce que je souhaite faire : à partir d'un onglet "Données", je souhaite copier et coller les éléments dans des cellules déterminées sur un onglet "Canvas", qu'il s'agira alors de démultiplier autant de fois qu'il y a de noms qui s'affichent (les onglets en jaune sont ceux qui doivent apparaîtrent grâce à la macro).

Je vous joints un modèle pour vous aider à y voir plus clair. J'ai pré-rédigé certaines formules mais je bloque sur deux d'entre elles :
- Dans la cellule B17 de l'onglet "Canvas" je souhaite qu'apparaissent, à la suite, toutes les données de la colonne Données!G:G dès lors que la colonne Données!H:H contient "Formation" pour chaque personne (celles-ci font l'objet de plusieurs lignes dans le tableau présent dans l'onglet "Données")
- Dans la cellule B23 de l'onglet "Canvas" je souhaite qu'apparaissent, à la suite,
les données de la colonne Données!G:G dès lors que la colonne Données!H:H contient "Entretien" ou "Evaluateur" pour chaque personne
(ils font également l'objet de plusieurs lignes dans le tableau de l'onglet "Données")

Merci par avance pour votre aide !
 

Pièces jointes

  • Projet_Macro_etat-des-lieux.xlsx
    58.8 KB · Affichages: 18

Laliepomm

XLDnaute Junior
Bonjour
Ci-joint une 1ère proposition pour le remplissage de la partie "Canvas".
Par contre, j'ai créé des colonnes par type: "évaluateur, entretien, formations" et en utilisant la formule "Index"
Je te laisse regarder
Slts
Lalie
 

Pièces jointes

  • Projet_Macro_etat-des-lieux.xlsx
    71.3 KB · Affichages: 11

livli

XLDnaute Nouveau
Bonjour
Ci-joint une 1ère proposition pour le remplissage de la partie "Canvas".
Par contre, j'ai créé des colonnes par type: "évaluateur, entretien, formations" et en utilisant la formule "Index"
Je te laisse regarder
Slts
Lalie

Bonjour,
Merci pour ta proposition, cependant j'ai une question.
Dans l'onglet "Données", tu as ajouté des colonnes pour distinguer entre formation et entretien à la main ? Mon souci est que mon tableau d'origine contient jusqu'à 25 formation par personne et 10 entretiens. Le souci se pose alors aussi sur l'onglet "Canvas" puisque j'ai vu que tu as créé des lignes supplémentaires pour y mettre les formations suivies.
Merci d'avance pour ton retour :)
Laura
 

Laliepomm

XLDnaute Junior
Bonjour,
donc voici ma 2ème proposition qui a pris un peu plus de temps ;)

Onglet "Données"
Mise en forme du tableau sous forme d'un tableau structuré nommé "Données"
en gardant les colonnes telles que dans ton fichier initial, puis en ajoutant 4 colonnes :
1. "Manager?" : je ne sais pas si cette colonne peut être utile pour identifier ce dernier
les 3 colonnes suivantes sont nécessaires pour identifier chaque ligne comme une ligne unique (donc remplacent les colonnes supplémentaires de mon 1er fichier)
2. "Code": concatener des colonnes nom collaborateur + prénom + type
3. "Nb" : calcul le nb de fois que le code apparait mais une ligne après l'autre
4. "Code2": concatener des colonnes "Code" + underscore + "Nb"

Dans cet onglet : ajout de 2 boutons pour les macro suivantes :
1. "Création fiche Etat des lieux" : tri le tableau "Données" et crée les fiches pour chaque collaborateur, sans doubler ces fiches si l'onglet existe déjà
2. "Suppression de toutes les fiches" : supprime toutes les fiches sauf les onglets de base "Canvas" et "Données"

petit truc intéressant : tu peux cliquer sur le nom du collaborateur pour ouvrir la fiche correspondante depuis cet onglet. (la macro que j'ai utilisée n'est pas de moi, je l'ai juste adaptée à ton cas)

Onglet "Canvas"
- mise sous forme de tableau structuré des zones correspondantes aux "formations" et "entretien"
- ajout d'une colonne en A (qui n'apparait pas lors de l'impression des fiches afin d'insérer une formule permettant d'identifier la ligne de code, ligne qui fera référence à la colonne Code2 de l'onglet Données
=> la formule pour chaque a été enregistré dans "Formules" : Gestionnaire de noms "CodeEnt" et "CodeForm"
- ajout d'une formule pour compter le nb de lignes de chaque tableau
- ajout de formules pour compléter les différents champs (je te laisse les découvrir)

2 Macros créées (InsertEntretien & InsertFormation) pour ajouter les lignes en fonction du nombre qui s'affiche pour les formations suivies et les entretiens réalisés
(note : j'ai également mis 2 boutons pour tester sans la mise à jour automatique)

En cellule "C3" après Date (pour état des lieux) : la zone est en orange tant qu'elle est vide
dès que cette cellule est remplie les macros créées ci-dessus se lancent automatiquement.

Je te laisse tester la solution de ton côté avec tes données.
J'espère que cela correspond à ton attendu.

Slts

Lalie
 

Pièces jointes

  • Projet_Macro_etat-des-lieux.xlsm
    87.3 KB · Affichages: 22

Discussions similaires

M
Réponses
9
Affichages
449
Maikales
M