XL 2019 Mise à jour document

Pierspom

XLDnaute Nouveau
Bonjour,
J'ai élaboré un fichier pour mon association
Néanmoins! Je reste à la recherche de réponses pour d'autre utilisation.
"Est-il possible de créer un bouton ou code pour que quand je mets à jour ou ajoute une ligne la fiche association (exmple: Fiche LPH du Douaisis) le fichier source le soit également MAJ automatiquement?
Je vous mets en pièce jointe mon fichier pour que vous puissiez comprendre mes besoins.
Je vous en remercie par avance
Bien à vous
 

chris

XLDnaute Barbatruc
Bonjour

Créer des tableaux structurés d'1 million de lignes est est non sens et en plus supprime 95% des avantages du tableau structuré donc revois tes onglets Liste et Source pour commencer
Un tableau ne doit JAMAIS contenir de ligne vide

Par ailleurs, de même qu'on ne conserve pas le snoms automatiques Classeur1, Feuil1... on ne conserve pas non plus les noms automatiques des tableaux structurés, on leur donne des noms signifiants

Les listes de 2ème à 5ème poste occupé étant les mêmes un seul tableau suffit

Concernant ta question, tu parle de fichier Source. Ne serait-ce pas plutôt l'onglet ?

c'est toujours une usine à gaz de gérer des copies de lignes car il faut non seulement gérer l'ajout mais aussi la suppression et la modification.

Source devrait peut-être plutôt être une compilation des onglets...
 

Pierspom

XLDnaute Nouveau
Bonjour

Créer des tableaux structurés d'1 million de lignes est est non sens et en plus supprime 95% des avantages du tableau structuré donc revois tes onglets Liste et Source pour commencer
Un tableau ne doit JAMAIS contenir de ligne vide

Par ailleurs, de même qu'on ne conserve pas le snoms automatiques Classeur1, Feuil1... on ne conserve pas non plus les noms automatiques des tableaux structurés, on leur donne des noms signifiants

Les listes de 2ème à 5ème poste occupé étant les mêmes un seul tableau suffit

Concernant ta question, tu parle de fichier Source. Ne serait-ce pas plutôt l'onglet ?

c'est toujours une usine à gaz de gérer des copies de lignes car il faut non seulement gérer l'ajout mais aussi la suppression et la modification.

Source devrait peut-être plutôt être une compilation des onglets...

Bonjour Chris et merci pour la réponse.
Je confirme qu'il s'agit bien de l'onglet "Source"
J'ai bien compris qu'il fallait me servir plutôt des onglets pour en faire une compilation sur mon fichier source.
Ce qui implique je suppose que mes codes VBA seront du coup faussés!!!
Je démarre et n'y connait pas grand chose en la matière.
Peux-tu m'expliquer comment faire STP.
Je t'en remercie par avance
 

chris

XLDnaute Barbatruc
Bonjour

Plutôt que VBA tu peux utiliser PowerQuery (totalement intégré à Excel 2019) mais c'est nettement plus simple s'il y a un tableau structuré sur chacun des onglets à compiler et si ce tableau a un nom qui obéit à une norme, par exemple commence par T_ comme T_LPH59D
 

Pierspom

XLDnaute Nouveau
Bonjour

Plutôt que VBA tu peux utiliser PowerQuery (totalement intégré à Excel 2019) mais c'est nettement plus simple s'il y a un tableau structuré sur chacun des onglets à compiler et si ce tableau a un nom qui obéit à une norme, par exemple commence par T_ comme T_LPH59D
Bonjour Chris,
J'ai regardé un peu sur le net concernant Power Query mais sincèrement je ne comprends rien du tout.
Désolé je suis dépassé là!!!
 

chris

XLDnaute Barbatruc
RE

Je veux bien te montrer, d'autant que dans ce cas c'est ultra simple (surtout à côté de toutes ces macros non optimisées), mais à condition que tu prépares le boulot : à savoir mettre la plage de chacun de tes onglets LPH sous forme de tableau en remplaçant le nom automatique de type Tableau par un nom normalisé comme je l'ai expliqué

Comme je l'ai aussi expliqué revoie ton onglet Liste en respectant les bonnes pratiques que je t'ai citées
 
Dernière édition:

Pierspom

XLDnaute Nouveau
RE

Je veux bien te montrer, d'autant que dans ce cas c'est ultra simple (surtout à côté de toutes ces macros non optimisées), mais à condition que tu prépares le boulot : à savoir mettre la plage de chacun de tes onglets LPH sous forme de tableau en remplaçant le nom automatique de type Tableau par un nom normalisé comme je l'ai expliqué

Comme je l'ai aussi expliqué revoie ton onglet Liste en respectant les bonnes pratiques que je t'ai citées
Ok je regarde ça et reviens vers toi dès que possible.
Grand merci
 

Pierspom

XLDnaute Nouveau
RE

Je veux bien te montrer, d'autant que dans ce cas c'est ultra simple (surtout à côté de toutes ces macros non optimisées), mais à condition que tu prépares le boulot : à savoir mettre la plage de chacun de tes onglets LPH sous forme de tableau en remplaçant le nom automatique de type Tableau par un nom normalisé comme je l'ai expliqué

Comme je l'ai aussi expliqué revoie ton onglet Liste en respectant les bonnes pratiques que je t'ai citées
Bonjour Chris,
Voici mon fichier modifié.
J'espère que c'est bon pour toi.
Merci
 

chris

XLDnaute Barbatruc
Bonjour

J'ai :
  • renommé tes tableaux de Liste car eux ne doivent pas entrer dans la synthèse donc ne pas avoir un nom commençant par T_
  • les ai aussi séparé par une colonne vide car on ne doit pas accoler des tableaux
  • créé une requête nommée Tout qui compile tous les tableaux dont le nom commence par T_ dont le résultat est affiché sur l'onglet Tout
    Il y a une colonne à la fin qui donne le tableau d'origine mais on peut modifier la requête si tu n'en veux pas
  • reporté sur l'onglet Tout le bouton Menu, la zone de critères et le double en-tête
  • modifié le code :
    • bouton du formulaire pour pointer sur Tout et non Source et actualiser la requête de façon à être sûr que c'est à jour
    • bouton du formulaire qui pointe sur Extraction pour y ajouter l'actualisation de la requête
    • les codes de Module1
    • mis en commentaires les codes du module4 (module à supprimer)
  • supprimer le bouton Actualiser de tout les onglets et les lignes du haut qui ne servent plus
Je n'ai pas
  • supprimé Source mais cet onglet ne servira plus
  • ajouté la mise à jour de la requête à l'activation manuelle de l'onglet Tout mais on peut le faire si utile
Si cela te convient, j'expliquerai les 6 ou 6 manips faites dans PowerQuery
 

Pièces jointes

  • ListingMembres2PQ.xlsm
    267.1 KB · Affichages: 16

Pierspom

XLDnaute Nouveau
Super t'es géniale merci!
J'ai une petite requête supplémentaire avant que tu m'expliques tout ça.
Peux-tu ajouter une colonne après le nom sur l'ensemble des tableaux comprenant une date de naissance avec une formule Si ou autre lol.
"Si + 18ans =écriture en vert
Si - 18ans =orange
Si - 16 ans =rouge
le + âgé et le + jeune en bleu"
Et suivant possibilité: Créer un bouton création nouvelle association qui met à jour l'ensemble des données à savoir mise à jour userform, création nouvel feuille.
 

chris

XLDnaute Barbatruc
Bonjour

Tu peux ajouter la colonne Date de Naissance à chaque Tableau : j'ai modifié la requête pour qu'elle prenne toutes les colonnes, présentes et futures.

Pour la couleur liée à l'âge, des Mises en forme conditionnelles suffisent : j'ai fait un exemple sur l'onglet LPH22VR que tu peux reporter sur les autres
Si la couleur doit s'appliquer à toute la ligne, modifier la plage d'application des MFC

Pour la création d'une nouvelle feuille le mieux est de prévoir une feuille vierge contenant
  • le bouton Menu
  • le nom de l'asso
  • un tableau vide nommé Modele par exemple avec le formatage adéquat des colonnes (vaidations, MFC...)
  • le surtitre et la cellule calculée
Cette feuille peut être masquée mais utilisée par un code qui la duplique et modifie le nom de l'asso et le nom du tableau sur la copie

Pour le reste sachant que l'asso doit être dans la liste de l'onglet Liste, que la structure du Userform ne se prête pas à l'ajout de boutons et de code associé, je pense qu'il faudrait prévoir dans ce Userform, plutôt que des boutons, une liste de type ListBox et un tableau de correspondance Nom - Onglet (ajout d'une colonne à la liste dans l'onglet Liste).
Ceci permet d'allonger la liste facilement et d'avoir un code unique qui gère le choix.

Dans les onglets, le nom de l'asso étant fixe, la saisie pourrait être remplacée par une formule (voir exemple onglet LPH22VR
 

Pièces jointes

  • ListingMembres2PQ.xlsm
    243.7 KB · Affichages: 10

Pierspom

XLDnaute Nouveau
Pour la couleur liée à l'âge, des Mises en forme conditionnelles suffisent : j'ai fait un exemple sur l'onglet LPH22VR que tu peux reporter sur les autres
Si la couleur doit s'appliquer à toute la ligne, modifier la plage d'application des MFC
Je ne peux pas modifier les dates de naissance.
J'avais fait un copier collé de la colonne dans les autres onglés mais du coup j'ai le même souci.
Non la couleur ne m'intéresse que pour cette colonne.
Pour le reste je regarde après
 

Discussions similaires

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa