Petit astucien | Bonsoir Je suis à la recherche d'idées pour intégrer dans un tableau "résumé" des cellules venant d'autres tableaux. Je m'explique : J'ai un tableau comportant deux feuilles, l'une pour mes heures et l'autres pour mes notes de frais. J'aimerai intégrer dans un tableau excel (que j'ai déjà créé)qui résume la liste de mes chantiers afin de suivre mes heures et remboursement. Mon problème est que pour chaque chantier j'ai un tableur et je souhaiterai résumé de façon automatique dans mon autre tableau.
année 2014-------fichier chantier A (heures + frais)
| ||||||||
Publicité | |||||||||
| |||||||||
Petit astucien | Désolé j'ai fais une erreur de manip dossier année 2014 -------fichier chantier A (heures + frais)---| -------fichier chantier B (heures + frais)---|----------Fichier résumé avec récupération dans les fichiers chantier (heures, numéro d'affaire, frais avancés) -------fichier chantier C (heures + frais)---| A chaque nouvelle affaire j'utilise un master en xlsx où j'indique le num affaire, mes horaires et le détail de mes dépenses. Et dans mon tableau résumé j'entre manuellement les données. Comment faire pour "automatiser"? Je ne sais pas si je suis très clair mais ce n'est pas évident de vous l'expliquer.
Merci pour votre aide | ||||||||
![]() ![]() | Bonjour Tu fais un Copier de la cellule d'origine. Dans la cellule destination (autre fichier), tu fais Collage Spécial et Coller avec liaison. Si tu fais une modif. dans la cellule d'origine, elle sera automatiquement prise en compte dans la cellule destination. @ + Modifié par poussebois le 13/12/2014 18:28 | ||||||||
![]() ![]() | Salut,
Dans ce cadre, je conseillerais : d'abord utiliser un seul classeur, ensuite dans ce classeur une seule feuille par chantier, regroupant heures et notes de frais, enfin une feuille récap de l'ensemble des chantiers, alimentée par les autres feuilles. Un schéma simple donc, pour éviter de se compliquer inutilement... | ||||||||
Petit astucien | Bonsoir Merci pour ta réponse.
Je le fais dèjà pour des valeurs dans mon fichier chantier. Ce que je cherche, c'est plutôt une liaison automatique entre "chantier et "résumé". Plus j'y réfléchis, plus je me demande si cela est possible.... Il faut une référence de départ soit en ouvrant le fichier "maitre chantier" à partir de "résumé" et il crée les liens ou depuis le "maitre chantier" qui intégre une ligne dans "résumé". A ce stade je pense que cela demande une macro et à ce stade c moi qui suis largué..... | ||||||||
Petit astucien | Je pense que je me suis mal exprimé... Ces deux feuilles sont dans le classeur "chantier", je crée un classeur par chantier que je sauve dans un dossier "affaire" avec tout les fichiers correspondant à cette affaire. Ce classeur est mon résumé... | ||||||||
![]() ![]() | Lorsque je parlais d'un seul classeur, j'entendais bien un seul classeur pour tout faire ! Tu dis : "Je le fais déjà...", je ne vois pas quoi, je ne vois pas ce que tu ferais de la démarche que je préconise ! Tu illustres d'ailleurs que tu fais tout à fait autrement ! Je résume : tu as un classeur contenant 2 feuilles, qui sont des états (ou appelle-les comme tu veux), c'est à dire un résultat final, visiblement destiné à l'impression... (ce qui n'exclut pas bien sûr une conservation sous forme de fichiers). Et tu reproduis ce classeur en autant de chantiers, ce qui en fait un certain nombre... Si tu saisis tes données initiales (celles qui donnent lieu à l'établissement de ces états et que tu veux par ailleurs récapituler) directement sur ces feuilles, tu les éparpilles et probablement sous une forme qui ne facilite pas leur récupération (et qui ne doit d'ailleurs pas faciliter leur saisie). Le point clé réside (comme souvent) dans la saisie des données, d'une façon qui permet de le faire aussi facilement et rapidement que possible, et sous une forme qui facilite les divers traitements ultérieurs auxquels elles sont destinées, dont la production de tes documents de sortie d'une part et la récap que tu souhaites en faire d'autre part. Rien n'empêche de conserver ton classeur "chantier" comme modèle pour générer les documents afférents. Mais en ce qui concerne la saisie initiale, et le pilotage de l'ensemble, c'est dans le classeur que tu appelles "résumé" que cela devrait se passer... Autre chose : pour avoir des réponses pratiques, dès lors que ça dépasse le cadre de la mise au point d'une formule, des classeurs modèles reflétant exactement ce que tu recherches sont indispensables. Sans cela on reste au stade de la discussion théorique. | ||||||||
Petit astucien | bonjour Ferrand Ma réponse ne t'était pas destinée mais à poussepois quand il me dit de lier des cellules entre classeurs. Tu dis un seul classeur, une feuille heures + frais et une résumé, pour moi le fait d'avoir un seul classeur risque de ne pas être pratique lors de la consultation si tu as un nombre certain de chantiers et le fait de créer un classeur par chantier que je sauvegarde dans un dossier concernant l'affaire et d'utiliser un autre classeur résumé (image "suivi avance sur frais") que je sauvegarde dans le dossier de l'année en cours ne me semble pas compliquer la logique. (non?) Je pense que mon souhait n'est pas possible, le lien qui doit chercher des cellules dans un fichier vers un autre, que je souhaite automatique, aura un problème de référence. Peux tu expliquer ta dernière phrase "des classeurs modèles reflétant exactement ce que tu recherches sont indispensables" | ||||||||
![]() ![]() | Bonjour, Tu ne donnes pas de précisions quant à ta saisie, mais sauf infirmation de ta part je suppose que tu l'opères dans ton classeur "chantier" (que tu sauvegardes après saisie). Ma suggestion était de faire de "résumé" ton classeur de base pour gérer l'ensemble, et donc en faire celui sur lequel opérer la saisie... J'avais laissé de côté les liaisons entre classeurs. Je n'en suis pas partisan en général, car cette méthode s'avère finalement lourde, peu souple, finit souvent par générer des problèmes, et la suppression de liaisons n'est jamais aisée. Il est vrai qu'au départ c'est sans doute celle qui semble la plus facile à mettre en oeuvre, comme te l'a indiqué Poussebois, soit par un copier-coller avec liaison, soit au moyen d'une formule. Dans ton cas, elle présente un inconvénient majeur (à mon sens), c'est qu'à chaque classeur "chantier" que tu enregistres après saisie, tu seras obligé de le "relier" à ton classeur "résumé", soit un certain nombre de manoeuvre, une pour chaque valeur que tu veux retrouver en "résumé". Je ne vois aucun gain notable par rapport à une saisie manuelle. Sous réserve des conditions dans lesquelles s'effectue la saisie (qui peuvent nécessiter des adaptations) , le schéma méthodologique me semblait assez clair : - une feuille de saisie (que je ne vois aucune raison de mettre ailleurs que dans "résumé", à rebaptiser...) organisée de façon à faciliter la saisie des informations à entrer successivement dans l'ordre logique où tu les obtiens... - une fois la saisie effectuée (supposons la définitive, si ce n'est pas le cas il faut bien sûr prévoir la possibilité de compléter ou modifier), tu valides (par exemple en cliquant sur un bouton de validation), ce qui lance une procédure qui va d'une part servir ton classeur "chantier" et l'enregistrer, et d'autre part alimenter ton tableau récapitulatif. Là je vois un gain effectif : tu saisis (ceci est inévitable dans toutes les méthodes), et un clic pour que le reste se fasse ! Si tu traites plusieurs chantiers simultanément, tu ne pourras te contenter d'une seule feuille de saisie. Une feuille saisie modèle te permettra de générer une feuille de saisie par chantier (que tu conserves tant que cela peut être l'objet de modifications). En l'absence de formules, le classeur restera relativement léger, et d'un point de vue pratique, tu peux ne conserver visibles que les feuilles de saisie utiles à un moment donné et masquer les autres... Quant à ma remarque à la fin de mon post précédent, elle signifie simplement que si tu ne mets pas à disposition du forum des classeurs modèles permettant de visualiser ce que tu saisis et où, et ce qui doit se retrouver ensuite dans ta récap (et où aussi), avec toutes les indications nécessaires pour qu'il n'y ait pas d'ambiguïté, on peut discuter longtemps sans que cela ne débouche jamais sur des solutions pratiques.
| ||||||||
Petit astucien | Je ne pense pas que la méthode résumé vers chantier puisse fonctionner pour moi. Dans le classeur chantier (feuilles pour les RH et la compta), la feuille pointage me sert pour mes horaires journaliers de travail et de voyage qui me calcule le total jour ainsi que le total semaine que je reporte dans le classeur résumé pour mes stats. Dans la feuilles note de frais toutes mes factures dont je reporte la somme vers "résumé" pour le suivi du remboursement. J'utilise des copiés avec liaisons dans le classeur chantier pour lié affaire, type, dates,..... entre les deux feuilles. Je sauve le classeur dans un dossier affaire qui est un sous dossier de l'année en cours, dans ce dossier je sauvegarde une copie des factures, images, documents liés à l'affaire...., Le classeur "résumé se trouve à la racine du dossier de l'année en cours. C'est les trois images qui sont dans mon message plus haut, je peux fournir une copie de mes fichiers si nécessaire.
Mon problème, j'aimerai que les totaux horaires, le num affaire, type, clients,...somme des frais s’intègrent "automatiquement dans le résumé pour chaque affaire, càd je crée le fichier chantier pour une affaire et les cellules sélectionnées s’intègrent à la ligne suivante. Ce que je ne sais pas c'est comment dire au classeur résumé d'aller chercher les cellules et de les intégrer en prenant un nouvelle ligne à chaque affaire. Je me demande de plus en plus si je ne cherche pas à me compliquer la vie, au lieu de faire un simple copié collé....
| ||||||||
![]() ![]() | Tu confirmes que ta méthode est compliquée ! Plus exactement tu te compliques la gestion de tes activités. Mais chacun est tout à fait libre d'utiliser les méthodes qu'il choisit. Bien sûr qu'il est possible, non pas de "dire au classeur 'résumé' d'aller chercher..." mais d'aller prélever un certain nombre de valeurs dans un classeur "chantier" pour les insérer dans le classeur "résumé", cependant en l'état des informations que tu fournis cela me paraît beaucoup moins rationnel et rapide qu'un schéma type : saisie —› constitution des états (comptables) et enregistrement de ces derniers dans leur dossier de classement [opération automatisée] —› insertion simultanée dans ton tableau de récap (ou synthèse ou suivi, comme tu veux) [également automatisée]. Si tu fournis une copie de tes fichiers, précise bien la source et la destination de chaque valeur concernée par ton propos. Et utilise http://www.cjoint.com pour les mettre à disposition sur le forum. | ||||||||
Petit astucien | J'ai du mal avec ta logique. Je vais vous fournir mes deux fichiers avec un pdf illustré des liens entres mes feuilles. | ||||||||
Petit astucien | Explique moi, je vois où tu veux en venir mais ce n'est pas très clair pour moi. Le classeur chantier a été créé par moi à partir du cahier qu'utilisent toujours les monteurs et ce qui ne me plaisait pas, surtout au niveau de la note de frais. Ces feuilles, je les fournis aux administratifs après chaque déplacement. Le classeur suivi est juste pour moi, pour suivre les remboursements.
| ||||||||
![]() ![]() | Ça doit te prendre un certain temps (non négligeable) de saisir tes données de pointage et note de frais ! Explication préalable : quelle que soit la méthode globale de gestion, la récupération de valeurs à un endroit pour les reproduire à un autre (lorsqu'on ne le fait pas manuellement) implique d'écrire une macro (ou plusieurs s'il y a lieu, du code VBA donc) qui prélève les valeurs voulues aux emplacements prévus (en créant un tableau à cette fin, sauf cas particulier c'est le mieux à faire) et qui ensuite les affecte aux emplacements également prévus. Fort simple dans son princicpe donc. Dans le cas tel que tu le soumets, il faut donc aller prélever les valeurs sur tes deux feuilles pour venir les reporter dans "résumé". Il n'y a que peu de valeurs à reporter ainsi, comparé au nombre de données saisies (soit moins de code dans la macro, mais le code fait justement ce que tu n'as plus à faire manuellement...) Pour le faire, il faudra ajouter la saisie dans "résumé" de quelques éléments d'identification du classeur concerné et de son emplacement. En survolant tes différentes feuilles, j'identifie comme données saisies : 6 éléments généraux d'identification du chantier, un tableau de 7 lignes (jours) et 13 colonnes (+totaux) pour les décomptes horaires, un tableau de frais à 6 colonnes et nombre de lignes variable (+totaux également). A confirmer. Il me semble par conséquent tout à fait possible de regrouper l'ensemble des éléments à saisir sur une même feuille, en les organisant de façon à rendre la saisie plus rapide, plus facile et éventuellement plus sûre, le reste étant fait par macro. J'aurais quelques précisions à demander à propos de certaines des données saisies (avant de te faire une proposition, si tu en es d'accord), mais cela peut attendre demain, je m'en tiendrai là pour ce soir). | ||||||||
Petit astucien | Pas de soucis, merci | ||||||||
![]() ![]() | Je commence par quelques compléments qui seront nécessaire, tu as dit :
- Donc, tu le sauves sous quel nom ? Ce nom peut-il être automatiquement défini ? - "dans un dossier affaire" : Même question, le nom de ce dossier propre à l'"affaire" est-il automatiquement défini ? - Ce dossier est un sous-dossier de l'année en cours : soit "2014" en ce moment, "2015" l'an prochain ? Données saisies (feuille 'pointage') : on va les passer en revue pour celles qui méritent des précisions. - Client : pas de problème à priori, valeur texte... - Monteur : il s'agit de toi, je suppose ; la question est de savoir s'il s'agit d'une donnée constante (le cas logiquement si tu n'utilises ce système que pour tes besoins propres), toujours présente, ou si variations (donc à traiter avec les saisies). Même chose pour le n° en regard (279 dans ton modèle) : un identifiant du monteur ? - Une rubrique N° comporte 3 valeurs distinctes (dans ton modèle : 1411, 35, 6), lesquelles sont répercutées dans le 'résumé' sous des libellés : "Année Mois", "Semaine", "Montage". Là je me perds en conjectures, je ne vois pas de relation entre 1411 et "Année Mois", 35 ne correspond pas à un numéro de semaine pour celle indiquée (17/6/2013), et 6 qui me semblait être le mois au départ devient "Montage" ? - Section (8700 dans le modèle) : je suppose qu'il s'agit d'une donnée constante, donc non saisie. - N° imput. (806269 dans le modèle) : qui devient "affaire" dans le 'résumé', un identifiant du chantier ? - Temps (549 dans le modèle) : qui devient "type" dans le 'résumé', de quoi s'agit-il ? - Pas de remarque sur le tableau horaire, sinon 2 rubriques "Villes" par journée, un itinéraire ? - Enfin, 3 rubriques textes : "Travaux effectués", "Fournitures", "Observations éventuelles". Sont-elles obligatoires (sauf les observations je pense) ? Quelle est la dimension maximale du contenu de chacune ? Y a-t-il un contenu type ? Données frais de voyage : pas de précision particulière à demander, sinon pour la base de calcul des frais (6CV), cet élément peut-il varier ? 'Résumé' : les rubriques "Remboursé" et "Date" sont servies par tes soins je suppose (suivi de tes remboursements). Par contre, je ne vois pas trop l'utilité de la première colonne "Date", sachant que la ligne concerne une semaine, et que par ailleurs il me manquerait un identifiant ordonnable (utilisable pour classer et identifier) de cette ligne (hebdomaire). Les 6 colonnes qui suivent permettent sans doute cette identification mais je ne suis pas sûr qu'ils puissent suffire pratiquement... (Si il est acquis qu'il ne peut y avoir qu'un seul chantier par semaine, le numéro de semaine pourrait être à lui seul un élément d'identification suffisant, mais est-ce le cas ?) Enfin les 2 dernières colonnes ("Jours voyage" et "Jours travail") correspondent à quoi ? Comment ces jours sont-ils calculés ? Et à quoi sert le cartouche traduisant des durées horaires en minutes ? Voilà un premier survol afin de recenser ce qui est à saisir et en exclure tout ce que l'on peut calculer ou définir autrement. | ||||||||
PC Astuces a besoin de vous pour survivre. Nos conseils et astuces vous ont aidé ? Vous avez résolu un problème sur votre ordinateur ? Vous avez profité de nos bons plans ? Aidez-nous en retour avec un abonnement de soutien mensuel. 5 € par mois 10 € par mois 20 € par mois
| |||||||||
Petit astucien | Merci Ferrand et Bonne fêtes Je n'ai pu te répondre plus tôt, la fin d'année étant toujours une source de stress, les clients voulant être livré avant la fin de l’année pour les budgets et le bilan, et surtout la famille. Je vais prendre le temps dans les prochains jours de répondre maintenant que j'ai réussi à décroché un congés. Nemotic Bonnes fêtes à tous
| ||||||||
Petit astucien | Bonjour et bonne année
Mon fichier est en fait un panachage de quelque chose qui existe, la feuille frais de voyage utilisé par mes collègues qui ont la chance dans un bureau (c'est du deuxième degré...je les charris souvent avec cela) et la feuille chantier que j'ai copié et modifié de sa version papier. J'ai un dossier une l'année en cours, ex: 2014 maintenant 2015 Dans ce dossier un dossier par affaire, sous la forme (888888) (nom_client) (lieu) ex: 810950 Fils et cie Trouville les pinsons Le numéro d'affaire est donné par le logiciel de ma sociéte. Tout ce qui a été fait pour cette affaire sera imputé à ce numéro. Le nombre à 3 chiffres sur ma feuille d'heure ex: 549 correspond à une sous rubrique d'une famille de produit. C'est sous cette forme que les dossiers sont sur le serveur de l'usine. Je le crée à partir du moment où je souhaite y mettre quelque chose, photo, plan,.......une copie de mes factures Données saisies : monteur c'est moi, ...279, (non, je ne suis pas un numéro, je suis un homme libre) pour le moment je suis le seul à utiliser cette forme de fichier, mes collègues préférant sa très vielle forme papier. :-) C'est vrai que je travaille souvent à la maison, les pcs dans mon service sont rares :-(((((((( et ils ne souhaitent pas en arriver là....c'est un point de vue...Les services qui reçoivent mes feuilles préfèrent, car plus lisible.... 1411 (2014) novembre 11 semaine 36 (tu as raison ce serait plutôt 45 pour novembre) 6 étant le sixième chantier de l'année. C'est un système de numérotation que j'ai créé voilà quelque temps, ma variable pour une même affaire qui dure plus d'une semaine c'est ....le numéro de semaine. Section ne change pas N° imput c'est le numéro d'affaire ex: 810950 Le temps c'est ici 549, c'est le type de chantier "mise en route hydro système" chaque famille à ces codes ex: 548 sav hydro système.... Villes : ville de départ et celle d'arrivée ex départ Lacourneuve, arrivée Trouville avec heure de départ et celle d'arrivée qui me donne le pointage jour puis le total semaine Les rubrique travaux..... sont à géométrie variable, il n'y a rien de fixe, chaque rubrique est du texte libre, je pense qu'elles vont disparaitres pour migrer vers la Fiche d'affaire fourni par nos ingénieurs d'affaire mais pour le moment ce n'est pas le cas ni dans les habitudes.
Frais de voyage La puissance change; j'ai une 6cv et le tarif varie en fonction du tableau des impôts Résumé La date correspond à la date de création de mon fichier pour comparer avec la date de remboursement. Engagé : somme que j'ai payé et Remboursé somme que la compta m'a remboursé, normalement le solde doit être nul sinon il y a un soucis... Sous "designation" ....."année mois semaine montage", correspond à mon numéro de feuille se trouvant en haut à droite de la feuille chantier, je n’avais pas encore fait de liens entre les deux feuilles. La partie jours voyage/travail est encore en mode "brouillon", je cherche à traduire les colonnes H travail et H voyage en temps "usine" en fonction de mes horaires journaliers standards H/min si je fais ex: 39h00 cela correspond à 4,5jours mais ceci est valable que pour l'europe. Sinon je suis bloqué à 7h30/j
J’espère avoir éclairci tes demandes.
| ||||||||
![]() ![]() | Bonsoir et meilleurs voeux pour 2015 ! Je ne sais pas si tu réponds à toutes les questions mais c'est déjà une réponse consistante ! Je te dirai demain si je m'y retrouve après avoir mouliné tout ça. Bonne soirée | ||||||||
![]() ![]() | Bonjour, Premier balayage de tes précisions... Classement - Tu précises que le chemin du dossier de classement d'une affaire est de la forme : Lecteur (à préciser)\[Année en cours]\[(n° d'affaire) (nom client) (lieu)] Pas de difficulté (en principe) pour identifier l'année en cours, à condition que utilisant le numéro de semaine tu t'alignes sur cette définition [exemple : la semaine du 29 décembre 2014 au 4 janvier 2015 est la semaine n° 1 de 2015]. Le nom du dossier de classement inclus dans le dossier annuel est un assemblage du n° de l'affaire [pas de difficulté], du nom du client [pas de difficulté non plus], du lieu [ne figurait pas jusqu'ici ! Prend-il place en L6 de ta feuille "pointage" ?]. Ces 3 éléments sont-ils simplement séparés par une espace comme tu sembles l'indiquer, ou bien y a-t-il un autre caractère séparateur ? Ta période d'établissement de tes états de pointage et frais est hebdomadaire, il semblerait donc a-priori qu'il ne peut y qu'un jeu de ces états pour chaque semaine donnée. J'aimerais que tu confirmes si c'est bien le cas, s'il ne peut y en avoir 2 (ou même plus) sur la même semaine (concernant par exemple des clients différents) ? Ce qu'il faut absolument établir, c'est si une ligne de ton résumé ne peut correspondre qu'à une semaine et une seule, et qu'aucune autre ligne ne peut couvrir la même semaine. Dans ce cas la semaine serait un identifiant parfait, sinon il est insuffisant... J'ai noté qu'un chantier pouvait durer plus d'une semaine... (aucun problème lié à cet aspect). OK pour 1411 = Novembre 2014 et précisions connexes. La numérotation des semaines est définie par une norme ISO (c'est pas au gré de chacun !). En ce qui concerne les rubriques Travaux, etc., j'ai noté qu'il s'agissait d'une donnée texte libre : je souhaitais avoir une idée de la dimension maximale que ces rubriques peuvent atteindre, mais rien de primordial. Je laisse pour le moment de côté les autres éléments susceptibles d'être organisés de façon à faciliter la saisie. Ce qu'il faut par contre savoir, c'est si lorsque tu crées tes états pointage et frais, le dossier de l'Affaire a déjà été créé ou si ce n'est pas forcément le cas. | ||||||||
Petit astucien | Bonjour Es tu sur de vouloir automatiser la sauvegarde? je fais ma sauvegarde dans le dossier cloud de mon disque c: Puis je fais des sauvegardes #1 sur une clef et #2 sur un disque. pb de lettre de lecteur? Celà ne complique t il pas le déplacement du dossier? [Le nom du dossier.......ou bien y a-t-il un autre caractère séparateur] ? Je n'ai pas de souhait, l'espace entre éléments suffit. [Ta période d'établissement .........J'ai noté qu'un chantier pouvait durer plus d'une semaine... (aucun problème lié à cet aspect).] Il se peut que je puisse avoir plusieurs chantiers par semaine. Et une ligne correspond à une affaire donc à un état si cette affaire dure deux semaines donc deux lignes et deux états. Et si plusieurs affaires par semaine....un ligne, une affaire, un état. [OK pour 1411 = Novembre 2014 et précisions connexes. La numérotation des semaines est définie par une norme ISO (c'est pas au gré de chacun !).] Je suis d'accord pour l'histoire de la semaine.......J'ai simplement donné cette semaine à titre d'exemple sans faire de relation avec la date.... [En ce qui concerne les rubriques Travaux, ...........rubriques peuvent atteindre, mais rien de primordial.] Si tu as mes fichiers originaux, ils sont la copie conforme du papier et donc tu as leurs tailles maxi...Je fais en fonction de la taille, jamais plus grand, pas de roman.....sinon j'utilise une feuille d'intervention où je peux décrire mon intervention en long en large avec une copie pour les différents services techniques. Bonne journée
| ||||||||
![]() ![]() | Re, Tu peux bien sûr faire tes sauvegardes manuellement !... Donc, sur le point essentiel dans l'immédiat, le couple semaine-affaire identifie une ligne de suivi et un jeu d'états (déplac.-tvx et frais). Je vois pour l'instant le schéma suivant, qui me paraît cohérent (même s'il devra encore être précisé sur pas mal de point) : - On part de ta feuille de suivi, sur laquelle on peut disposer d'un bouton 'Ajouter' pour lancer une opération de chantier. - En cliquant sur ce bouton, tu lances une opération : ouverture d'un formulaire (Userform) dans lequel tu saisis : - En validant ce formulaire tu déclenches : - Tu saisis tes informations sur la feuille de saisie, au fil de l'eau ou selon tes méthodes habituelle. Tu disposeras sur la feuille d'une commande de mise à jour qui mettra le suivi à jour au fur et à mesure (c'est sans doute superflu mais ça ne coûte rien !). Je laisse de côté le détail de la saisie (à voir ce qui peut être saisi à partir de listes déroulantes...) - Lorsque toutes les saisies sont faites, une commande te permettra de lancer l'édition de tes états : ça c'est purement mécanique, on prend des données pour les insérer à leur place dans les états. La ligne de suivi sera simultanément mise à jour, bien sûr. - Une autre commande doit pouvoir te permettre de proroger le chantier sur la semaine suivante, en initialisant une nouvelle feuille de saisie sans que tu aies à resaisir les références... - Il faudra aussi prévoir l'élimination de la feuille de saisie lorsqu'elle sera devenue inutile (ce point est resté dans le vague). | ||||||||
Petit astucien | Je pense que la création du dossier de sauvegarde doit être manuelle sur le disque souhaité (plus souple) et par un "enregistrer sous" lors de l'enregistrement de la feuille de saisie...non? Le lieu est bien en L6 (croiseur touché) Le reste de ton explication me va. Élimination de la feuille de saisie? | ||||||||
![]() ![]() |
J'ai retenu plutôt l'option inverse ! Parce que étant donné que tu ne saisis plus à partir des états, au moment de leur confection, on insère des données sur modèle qu'il faut alors enregistrer sous un autre nom, et c'est une économie de l'enregistrer dans le dossier destinataire pour eux. Dans la foulée, j'ai donc opté pour la création du dossier "affaire" lors de la 'création' d'un chantier à suivre. Et du dossier annuel lors de la réinitialisation (qui peut intervenir avant la fin de l'année). Le problème était d'éviter une erreur si ces dossiers existaient déjà, créés avant pour une raison quelconque, mais c'est en principe évitable.
Qu'est-ce qui te fait dire ça ? Au contraire, je considère qu'il n'y en avait pas et qu'on en crée une ! Tu saisissais directement sur les états à remettre aux services concernés, et transférais des données sur ta fiche de suivi... On procède "à l'envers", à partir de la fiche de suivi, tu lances l'inscription d'un nouveau chantier à suivre, ce qui crée une feuille de saisie dédiée, sur laquelle tu saisis, et à partir de laquelle tu mets à jour le suivi et le moment venu tu confectionnes les états à remettre... J'ai en principe bouclé le processus, sans modification notable par rapport aux annonces initiales. Reste à voir le fonctionnement interne de la feuille de saisie, les calculs et ce qui peut être mis sous liste déroulante... Il me reste surtout à tester le fonctionnement des macros en situation normale pour éliminer les bogues dus aux omissions involontaires, fautes de frappe, etc. et s'assurer qu'elle fournissent le résultat prévu. A toi ensuite de voir en toutes situations, si l'ergonomie convient, si je n'ai pas fait d'erreur d'interprétation sur tel ou tel point, et si des bogues apparaissent en certaines situations qu'on n'avait pas encore vus. Je n'ai pas touché à la structure de tes documents initiaux, hormis l'augmentation du nombre de lignes sur la fiche de suivi car il me semblait difficile de ne pas dépasser le nombre existant dans l'année selon tes indications. Mais cela n'a pas d'incidence. Autre chose, l'état de frais comporte un tableau de consignation desdits frais de 18 lignes : j'ai considéré que ce nombre ne devait pas normalement être dépassé sur une période hebdomadaire. Si par contre on devait, ne serait-ce que ponctuellement dépasser ce volume hebdomadaire, soit doubler l'état, il faudrait reconsidérer la chose et redéfinir une procédure adaptée. Un autre point qui m'a interrogé, c'est l'avance sur frais (dont j'ai supposé qu'il s'agissait d'une avance dont tu étais bénéficiaire). Mon interrogation était précisément le fait qu'un solde de cette avance soit calculé en en déduisant le total des frais avant ajout des frais voiture. Et aussi que tu ne reprennes dans le suivi que le total Espèces... Cela ne devait en principe pas avoir d'incidence sur les reports de données d'un document à un autre. J'aurais aussi besoin de savoir si tu as déjà travaillé avec des macros, jusqu'à quel point, pour les explications préalables afin que tu puisses maîtriser la chose. Bonne soirée. | ||||||||
Petit astucien | Bonjour
- Il faudra aussi prévoir l'élimination de la feuille de saisie lorsqu'elle sera devenue inutile (ce point est resté dans le vague). C'est cette phrase que je n'ai pas bien saisie. Concernant la feuille de suivi, elle est de mon cru, elle peut être modifier à loisir. C'est certain qu'il faut partir de cette feuille pour distribuer. La feuille note de frais a été faite par des collègues automaticiens. Normalement les 18 lignes suffisent, elle peut être limite lors de la multiplication de ticket de péage. La cellule CB a une utilité lors du calcul des frais pour certaines personnes qui possèdent une carte de payement de la société, cela permet de décomposer en CB et espèce ( en mettant CB dans la colonne I tu indique un payement en carte) Et comme je n'ai pas de carte de société, je n'utilise "qu'espèce". Les cellules d'avance sur frais ont été créé récemment pour avoir un visu sur ce que j'ai consommé. et tu as raison ce devrait être H28 avec les frais annexes.
Les macros, je suis un faux débutant....j'en ai fait voici des années et je n'ai jamais pu m'y remettre sérieusement, comme pour la programmation en C, j'ai commencé avec un ami quand j'étais dans une association et le manque de temps...... Je pars de zéro
Bonne soirée
| ||||||||
![]() ![]() | Bonsoir, La feuille de saisie est nouvelle. Elle a un intérêt tant qu'il y a quelque chose à saisir, et que les états sont à éditer (ou sont encore susceptibles de devoir être réédités). Au-delà elle est encombrante... Comme il est difficile de prévoir à quel moment et en fonction de quoi, pour déclencher une action automatique, j'ai mis une commande pour la détruire (sur demande donc). Mais si un critère fiable existe en la matière, on peut modifier... L'objectif est qu'elle soit plus compacte que tes reproductions de feuilles papier. Cela reste relatif, car l'éventail de types de données saisies est large et l'organisation qui faciliterait le mieux le traitement ultérieur pourrait être déstabilisante au moment de la saisie, donc faire perdre du temps au lieu d'en gagner. Donc un compromis pour que la visualisation demeure assez semblable. Je pensais pouvoir tester l'essentiel aujourd'hui mais d'autres sujétions... J'ai tout de même rattrapé quelques omissions qui me sont apparues ici ou là. Tu as une idée de la programmation, cela facilitera pas mal ton approche. La maîtrise vient avec l'usage. Les macros des applications Office sont en langage Visual Basic, VBA, le A pour Application. C'est à dire que dans les applications Office, on dispose de la bibliothèque d'objets propres à l'application, que l'on peut directement utiliser et manipuler (sans avoir à les créer préalablement en programmant comme on devrait le faire si on bâtissait une application totalement indépendante). Pour avoir accès aux macros, il faut ouvrir l'éditeur VBA. Ces précisions sont peut-être déjà inutiles pour toi, mais dans le doute, autant le préciser. Pour accéder à l'éditeur, c'est dans l'onglet Développeur > cliquer sur l'icône Visual Basic (ou bien raccourci clavier : Alt+F11).
En commençant par la fin, les Modules : c'est là que l'on écrit les macros. Si ce groupe apparaît, c'est qu'il y a déjà des macros (procédures exécutables) dans le projet. Il s'agit de modules standard, n'ayant pas de spécification particulière, et pouvant accueillir toutes sortes de procédures. En double-cliquant sur un module, on l'affiche et l'on peut voir et modifier le code exécutable qu'il contient. Le groupe Feuilles correspond lui aux Userforms, autrement appelés formulaires ou boîtes de dialogue personnalisés. Pareil, si aucun Userform n'a été créé, ce groupe n'apparaîtra pas. Si on double-clique sur un userform, on affiche l'objet, soit le formulaire dessiné avec les contrôles qu'il contient. Par clic droit et Code (ou menu Affichage > Code) on affiche le module de code attaché à l'objet, destiné à accueillir les procédures à exécuter selon les évènements pouvant affecter les contrôles (interactions lorsque l'utilisateur lance l'affichage du formulaire et agit sur les contrôles qu'il contient). Le groupe d'objets Excel est toujours présent par contre puisque le classeur existe et est ouvert et qu'il contient au moins une feuille de calcul. On voit donc les feuilles existantes dans le classeur, désignées par leur nom de code suivi entre parenthèses du nom de la feuille défini par l'utilisateur sur l'onglet. Un double-clic sur une feuille ouvre un module propre à la feuille qui permet notamment de programmer des actions à exécuter lors d'évènements survenant dans la feuille (changement de la cellule ou de la plage sélectionnée, changement de valeur d'une cellule, recalcul, activation ou désactivation, etc.). De même si la feuille contient des contrôles (contrôles ActiveX), même chose pour ces derniers (clic sur un bouton par exemple). Lorsque l'on clique droit sur un onglet et clique sur Visualiser le code dans le menu contextuel, on accède directement à ce module de la feuille concernée. Sous l'appellation ThisWorkbook, on a un module de même type, mais concernant le classeur lui-même : on peut interagir sur les évènements concernant le classeur (ouverture, fermeture, sauvegarde, activation ou désactivation d'une feuille, etc.) Ce qu'on regroupe sous le terme générique de macros est un ensemble multiforme et très diversifié... Modifié par ferrand le 06/01/2015 01:29 | ||||||||
![]() ![]() | Première série de test sur une fonction, j'ai commencé par la fin : la réinitialisation annuelle (quoique le changement d'année est d'actualité). On a le fichier de suivi pour 2014, ainsi que le fichier d'états modèle, dans le dossier 2014. La réinitialisation consiste à enregistrer un fichier de suivi pour 2015 (vierge) dans un dossier 2015 (en le créant s'il ne l'est pas) et d'y enregistrer également le modèle d'états. Et tout est prêt pour le suivi 2015 (sans affecter le suivi 2014). La réinitialisation se lance au moyen d'un bouton, sur la feuille de suivi du fichier 2014. En fin d'opération, le bouton qui a permis de lancer l'opération est supprimé sur le fichier 2014 (de façon qu'on ne puisse refaire cette opération une fois qu'elle a été réalisée). Le test n'est pas tout à fait complet car je n'avais pas créé d'éléments à apurer dans le fichier (mais sur ce point la syntaxe des commandes ne présente pas de difficulté, et je renouvellerai le test après test des autres fonctions pour vérifier qu'aucune erreur ne s'est glissée). Pour l'heure, l'actualité est d'assurer mon réapprovisionnement | ||||||||
Petit astucien | Bonjour Merci pour ce petit cour qui m'a rafraîchi la mémoire, au départ de ma démarche, je ne pensais pas aller aussi loin.... Il y a aussi la méthode automatique pour créer une macro, non? Il suffit de lancer un enregistrement et toutes les actions créent la macro. Je pense que cela fonctionne pour une action générique? Pour les listes déroulantes: celle du monteur et de son numéro. celle de la puissance fiscale et du montant kilométrique. J'ai une question découlant des listes de choix.. 1) lors de la création d'une entrée, celle-ci est enregistrée directement dans la liste déroulante ou faut il créer sur une feuille une liste base de donnée (pour la gestion des entrées) 2) si je décide de créer une liste, celle-ci ne risque t elle pas de modifier la macro concernant la cellule?
Bon reapro
Bonne soirée | ||||||||
![]() ![]() | Les listes de choix (déroulantes), on en reparlera : le monteur ! tant qu'il n'y a que toi qui utilise ce fichier, je n'ai pas considéré que c'était une donnée variable Mais il y en a 2 sur lesquelles tu peux réfléchir, d'une part les villes, d'autre part les désignations de frais dont au moins un bon nombre doivent être récurrentes. Listes à concevoir variables, que l'on peut compléter ou modifier au fil des besoins. Les ajouts peuvent alors soit intervenir manuellement, soit faits automatiquement (si tu saisis une donnée qui n'est pas dans la liste, elle peut être détectée et ajoutée automatiquement).
Là tu penses aux macros enregistrées ! C'est en effet un moyen simple (en apparence) : on réalise une opération en enregistrant une macro, et ensuite en relançant l'exécution de cette macro, l'opération se réalise... Soit ! Sauf que dans le cas général, la macro va faire exactement ce que tu avais fait, et pas forcément la même action ailleurs sans que tu n'y apporte quelques retouches. On peut certes faire enregistrer les déplacements en références relatives, mais cela ne suffit pas toujours. Mais surtout une macro enregistrée présente deux défauts inhérents à la fonction même d'enregistrement : Parce que le programme n'a nul besoin de sélectionner pour agir (sauf si l'action consiste justement à sélectionner), ni le plus souvent d'activer... Et d'autre part, si pour une telle action le copier-coller est la méthode qui s'impose en mode manuel, ce n'est plus la seule dès lors que tu la fais exécuter par le programme, et souvent pas la mieux adaptée (en mode exécution programmée). Et un certain nombre de moyens que te permet la programmation (conditions, boucles, ...) ne peuvent donner lieu à enregistrement. Une macro enregistrée nécessite toujours d'être réécrite, et demeure limitée dans les services qu'elle peut rendre. Par contre, l'enregistrement peut s'avérer utile pour déterminer la bonne syntaxe à utiliser dans la création ou la manipulation de certains objets (l'aide n'est pas toujours limpide dans les explications fournies...!) | ||||||||
Petit astucien | Bonsoir Pour les villes ou clients, je n'y vois pas un intérêt, à part quelques clients récurrents. Dans la base de donnée logistique, nous utilisons les chaines hôtelières mais pas toujours, dans certaine villes, c’est plutôt l'hôtel de la poste..Les restaurants sont d'entreprises, ou alors un restaurant proche et pas cher. on peut rajouter les magasins de bricolage ou pro (il faut faire des courses pour palier les surprises...), les péages, le carburant, ........ Ne pense tu pas que certaines entrées ne vont être rentré qu'une fois et que cela ne va pas alourdir le fichier? Mais l'idée m’intéresse. Bonne soirée
| ||||||||
![]() ![]() | Bonjour, Je reviendrai plus tard sur les listes... L'utilité est de se contenter de sélectionner un élément sur une liste qu'on déroule au lieu de le taper : c'est évidemment intéressant pour des éléments qui reviennent fréquemment, beaucoup moins s'ils ne sont pas destinés à revenir (dans ce cas la présence dans la liste est inutile. Mais le fait de sélectionner dans une liste n'empêche pas de taper un libellé ne figurant pas dans la liste. Dans ce dernier cas, si l'on trouve intéressant de le rajouter à la liste, on peut soit le faire manuellement, soit le faire faire automatiquement : détection d'un libellé nouveau —› demande à l'utilisateur s'il souhaite l'ajouter —› dans l'affirmative, ajout à la liste. J'ai ajusté la confection des états, comme je l'ai dit c'est très "mécanique" mais justement les risques d'erreurs y sont d'autant plus nombreux : on prend ligne 12 colonne 2 pour affecter ailleurs ligne 28 colonne 8, un chiffre à la place d'un autre ou pas positionné à son rang, le résultat... J'ai en principe rectifié les erreurs (de façon sûre, j'ai rectifié celles que j'ai décelées !). Ce faisant, une chose m'a intrigué : le non affichage du symbole € dans les cellules ayant un format monétaire sur l'état de frais, à la place un trait vertical. Je ne sais pas si tu constates la même chose à l'affichage. Il m'a fallu un certain temps pour trouver la cause, je la livre à toutes fins utiles. € s'affiche normalement si la taille de police est à 11 ou supérieur, il ne s'affiche pas si la taille est à 10 ou inférieur, et ta police est en taille 10. Cependant, € apparaît normalement à l'impression... Je rectifie : c'est ainsi si le zoom est en dessous de 80%, ce qui était le cas, à partir de 80% tout est OK. Modifié par ferrand le 08/01/2015 16:00 | ||||||||
![]() ![]() | Bonjour, Quelques précisions préalables avant d'entrer dans le vif du sujet. 1) Les fichiers : ton système en comporte 2. Pour les utiliser fiablement en programmation il était indispensable que les noms permettant de les ouvrir et manipuler soient fixés sans ambiguïté. L'un contient les modèles d'états à émettre hebdomadairement pour chaque chantier, il reste à compléter par le nom du monteur (élément fixe). On ne saisit rien directement sur ces états, donc dès lors que la mise en forme convient il n'est nul besoin d'ouvrir ce classeur, le programme s'en charge pour le servir et le classer, il n'y a plus qu'à l'imprimer ensuite. J'ai nommé ce classeur ModelEtats.xlsx. Si tu souhaites changer ce nom il doit être changé partout où il apparaît dans les macros... Lorsqu'il est servi lors de l'émission d'états, le classeur résultant est enregistré sous un autre nom composé de la façon suivante : ns-n°affaireEtats.xlsx, dans lequel ns est le numéro de semaine, et n°affaire le code d'imputation, ces deux éléments identifiant un chantier hebdomadaire suivi. Aucune modification de la contexture des "imprimés". Je me suis contenté d'éliminer la plupart des formules et de fusionner sur position les cellules des rubriques Travaux, Fournitures et Observations. Les seules formules restantes sont celles qui affichent les dates de la période hebdomadaire, un report du nombre de km et la reprise du nom du monteur. La feuille complement a été déplacée dans l'autre classeur. J'ai préféré ne pas utiliser les noms de feuilles dans les macros, tu peux donc les changer à ta convenance. Cependant, il importe qu'elles demeurent dans le même ordre : position en première feuille du classeur et frais en seconde. Le second classeur devient celui à partir duquel on pilote l'ensemble. Contenant les macros, son nom est basculé en .xlsm : celui que je livre est nommé Suivi2014.xlsm. Ce nom sera modifié en Suivi2015.xlsm, Suivi2016.xlsm... au fil des ans. La feuille récap des suivis comporte l'année en cellule K2. Il importe que l'indication de l'année sur la feuille soit toujours en correspondance avec l'année intégrée dans le nom du classeur (autrement les macros ne pourront pas fonctionner ou dysfonctionneront...) Le nommage et le changement d'année sur la feuille se faisant automatiquement, il n'y a en principe aucune raison pour qu'une distorsion s'introduise... Le nom de la feuille récap ne m'ayant pas eu l'air définitivement stabilisé, les macros utilisent systématiquement le nom de code de cette feuille. Le nom de l'onglet peut donc être modifié à convenance. Pas de modification de la structure de cette feuille, hormis le nombre de lignes réservées aux suivis : je l'ai étendu jusqu'à la ligne 100. Si l'on est sûr que le nombre de suivis annuels ne dépassera jamais cette ligne (soit un maximum de 93 suivis), c'est OK, sinon il faut l'étendre. J'ai masqué la moitié des lignes concernées (inutile de les voir tant qu'elles ne sont pas utilisées, et rien n'empêche d'en masquer d'autres). La détermination du nombre de lignes utilisées se faisant à partir de la ligne 100, l'utilisation des lignes suivantes demeure libre (et est à gérer manuellement...) La feuille complement a été déplacée dans ce classeur. Elle comporte des éléments de type aide-mémoire qui demeurent (je ne suis pas en mesure de les utiliser autrement, sauf les puissances fiscales et le barême). La table des puissances fiscales avec barême en regard a été ramenée sur 2 colonnes (pas de cellules fusionnées dans une table de recherche !) La colonne puissances a été nommée en plage fixe. Elle permet une liste déroulante pour définir le véhicule utilisé. A partir de ce choix le barême peut être appelé automatiquement. J'ai réservé une colonne (F), nommée en champ dynamique [on peut ajouter des données à la liste, en enlever, sans laisser de lignes vides dans la liste et sans rien mettre d'autre dans la colonne] à partir de F2 pour alimenter une liste déroulante des désignations de frais. Ce classeur comporte également une feuille de saisie modèle, nommée Saisie, masquée, sur laquelle je reviendrai. | ||||||||
![]() ![]() | Suite 2) Positionnement des fichiers : selon les indications de départ, le fichiers de suivi figure dans un dossier au nom de l'année, lequel dossier contient autant de dossiers que d'affaires traitées dans l'année. Les classeurs que je vais livrer : Suivi2014.xlsm et ModelEtats.xlsx doivent donc être placés dans un dossier nommé 2014, c'est impératif pour que le système fonctionne. La position de ce dernier dossier est par contre indifférente. Je conseillerais pour tester le fonctionnement de créer un dossier 2014 ailleurs qu'à emplacement "opérationnel" habituel et d'y placer les 2 fichiers. Pour le reste, l'exécution des procédures créera autant que de besoin les dossiers d'affaires nommés sous la forme : n°affaire nomclient lieu, chaque fois qu'un suivi sera initialisé. De même pour le dossier de l'année suivante lors de la réinitialisation (annuelle). Si ces dossiers existent déjà, le programme les utilisera, cependant la création automatique des dossiers représente un confort indéniable et on peut la faire intervenir préalablement à tout besoin du dossier pour des documents autres. Ce qui réduit fortement les risques d'erreurs liés à la création manuelle de tels dossiers (risques élevés avec des noms susceptibles de contenir un bon nombre d'espaces). Dans le cas d'un nommage manuel qui s'avèrerait non conforme, le programme n'identifiera pas le dossier et en créera un autre au nom conforme. | ||||||||
![]() ![]() | Suite 3) La feuille de saisie : au départ le classeur dispose d'une feuille Saisie, masquée, utilisée comme modèle pour générer la feuille de saisie propre à chaque chantier hebdomadaire, opération qui intervient lorsqu'on ajoute un suivi au moyen du bouton Ajouter sur la feuille récap. Chaque feuille de saisie générée est nommée sous la forme : ns-n°affaire [ns=numéro de semaine, n°affaire=code imputation du chantier]. Cette feuille est destinée à la saisie, sous une forme aussi compacte que possible... Ce qui importe c'est d'en tester l'ergonomie et l'efficacité, qui comportent une dimension subjective liée à des habitudes et réflexes acquis... Des modifications sont bien sûr envisageables, mais on ne peut les faire de façon impromptue au fil de l'eau car le code destiné à y recueillir les données pour servir les états doit être simultanément modifié. Sur la feuille de saisie, j'ai coloré en jaune les zones sur lesquelles la saisie est manuelle, en jaune clair là où une liste déroulante est utilisable (cela peut être modifié sans difficulté, comme tout ce qui ne change pas les références de cellules et autres éléments utilisés par le programme). Les zones non colorées sont servies automatiquement : les références d'identification du chantier auront été saisis en formulaire lors de l'ajout du suivi, et des données sont calculées à l'aide de formules. J'ai conservé les calculs existants (sous réserve de vérification que je n'ai pas fait d'interprétation erronée...) et peu modifié les formules hormis remplacement du choix de non affichage de la valeur 0 en utilisant la fonction SI par un format de cellule inhibant cet affichage, et la formule de calcul des heures où l'utilisation de ABS appliquée à HeureDeDébut - HeureDeFin (atypique, qui certes ne devrait pas poser problème dans tes plages horaires, mais en poserait sur un cycle de 24h). L'utilisation de MOD permet de fournir le bon résultat dans le cas où l'heure de fin serait inférieure à l'heure de début (ex.: début 20:00, fin 01:00 ; le résultat ne sera pas -19:00, mais bien 5:00) et bien sûr aussi dans tous les autres cas. Compte-tenu des dernières discussions, j'ai ajusté le calcul du solde = avances - total frais + CB (qui dans ton cas =0).
| ||||||||
![]() ![]() | Suite 4) Les commandes : Tout se fait avec le classeur Suivi....xlsm. A l'ouverture, la feuille récap sera activée et le curseur positionnée sur le dernier suivi inscrit (en col. A). Macro évènementielle (s'exécute automatiquement à l'ouverture du classeur ) que tu trouveras dans le module ThisWorkbook attaché au classeur. Sur la feuille, 2 boutons permettent des actions : • Ajouter : pour ajouter un suivi -- ouvre un formulaire pour y saisir : n° semaine, n° affaire, nom client et lieu, montage et type -- si validé, une ligne de suivi est inscrite sur la feuille récap et une feuille de saisie correspondante générée dans le classeur (les nouvelles feuilles sont ajoutées en tête), et le dossier de l'affaire est créé. • Réinitialiser : sert à initialiser le suivi de l'année suivante (le suivi de 2015 par exemple ne peut être lancé qu'à partir du fichier Suivi2014.xlsm, positionné dans le dossier 2014, et en 2014 ou 2015 exclusivement). Crée le dossier annuel. • Comme dès lors qu'un certain nombre de feuilles de saisie seront présentes en même temps on se déplacera moins facilement d'une feuille à l'autre, le classeur affichant à l'ouverture la feuille récap, un double-clic dans la cellule contenant le n° d'affaire du chantier pour lequel on souhaite saisir activera la feuille de saisie correspondante (si la feuille de saisie n'existe plus, le double-clic est inopérant) [Macro s'exécutant automatiquement au double-clic, dans le module attaché à la feuille]. Sur la feuille de saisie on dispose de commandes attachées à des formes représentant des flèches (les formes pourront être modifiées, il suffit d'affecter une macro à une forme). J'ai utilisé des commentaires dans les cellules situées sous les formes [j'ai découvert que le survol d'une cellule masquée par une forme n'empêchait pas l'affichage du commentaire, ce qui m'avait échappé jusqu'ici] pour préciser la fonction de la commande lancée. Ces commentaires pourront être effacés s'ils se révèlent inutiles. • Mise à jour suivi : permet de mettre à jour la ligne de suivi de la récap à la suite d'une saisie. Fonction secondaire, qui permet juste d'actualiser en permanence si on saisit au jour le jour. • Edition des états : émet les états, les enregistre dans le dossier affaire, met à jour la ligne de suivi. La date du jour est apposée sur l'état position (sur l'autre, elle figure dans un bloc de texte...) et en colonne A de la ligne de suivi. • Prolongation : dans le cas où un chantier se poursuit la ou les semaines suivantes, permet de générer une nouvelle feuille de saisie pour la semaine suivante sans avoir à repasser par la fonction ajouter. • Fin : supprime la feuille de saisie après confirmation et examen des différents cas possibles (si la feuille est supprimée sans avoir donné lieu à l'émission d'états, la mention "Supprimé" est portée sur la récap à la place de la date). • Retour suivi : retourne à la feuille récap. | ||||||||
![]() ![]() | Suite A ce stade, fichiers pour que tu commence à regarder de plus près. http://cjoint.com/?EAjlHAHEiYV Je reviendrai ultérieurement plus en détail sur les macros... | ||||||||
![]() ![]() | J'ai encore un petit moment pour ajouter un commentaire... Comme tu l'as vu, il y a plusieurs sortes de macro : - les macros évènementielles, qui se lancent automatiquement lorsqu'un évènement survient, elles sont dans un module spécial, attaché à un objet : ThisWorkbook pour les évènements dans le classeur, modules de feuilles pour les évènements survenant dans chaque feuille ; si la feuille contient des contrôles ActiveX (c'est le cas des 2 boutons de la feuille récap), les procédures lancées par l'évènement Click sur ces boutons sont également dans le module de la feuille ; - il faut également des macros pour faire fonctionner un formulaire personnalisé (userform), il y en a un ici pour ajouter un suivi : les macros liées aux contrôles de ce formulaire sont dans un module de code attaché au Userform ; si elles ont trait essentiellement au fonctionnement interne du formulaire, elles peuvent bien sûr exécuter des actions ayant un effet en dehors du formulaire ; - les autres macros sont normalement insérées dans des modules standard, ici regroupées dans Module1 ; certaines de ces macros peuvent être lancées directement, d'autres doivent l'être par une autre procédure ; de façon générale une procédure qui réclame des arguments ne peut pas être lancée directement (boîte de dialogue Macro) ou par un raccourci clavier ou un bouton ou forme à laquelle elle serait affectée : il faut l'appeler en lui passant les arguments nécessaires à l'exécution ; parmi ces procédures, tu noteras l'existence de procédures Sub, destinées à exécuter des actions, et de procédures Function qui peuvent aussi exécuter des actions mais sont principalement destinées à renvoyer un résultat à la procédure appelante ; les procédures Sub dépourvues d'argument apparaissent dans la boîte de dialogue Macro et peuvent être lancées à partir de là (même si affectées à un bouton ou une forme) ; lorsque tu affectes une macro à un élément graphique, il t'est proposé de choisir parmi les macros affichables dans la boîte de dialogue (ou de créer une nouvelle macro). Cas particulier : tu pourras constater que la plupart des macros affectées aux formes de la feuille de saisie, destinées à les lancer, sont pourvues d'un argument optionnel. J'ai évidemment ajouté cet argument après affectation, le fait qu'il soit optionnel n'empêche pas le lancement (sans argument) à partir de la forme mais fait disparaître la macro de la boîte de dialogue Macro. Ceci afin de ne pas risquer qu'elle puisse être lancée en dehors de la feuille concernée par son exécution, ce qui n'aurait pas les résultats souhaités ! Voilà pour un premier survol. Je reviendrai sur le détail pour chaque fonction afin de vérifier que ce qui est exécuté n'est pas en contradiction avec d'autres aspects du projet. | ||||||||
Petit astucien | Bonjour
Je vais lire attentivement tes explication, DL le fichier, et te donner mon avis.
Merci pour ton aide | ||||||||
![]() ![]() | Bonjour, prends ton temps ! Mets-toi surtout dans les conditions d'environnement adéquates pour tester. Un petit complément pour une vue d'ensemble des macros et de leurs interactions. D'abord des fonctions (Module1), il y en a 4 en tête du module, utilisées par les procédures qui en auront besoin : [NB- Il est d'usage (parce que cela garantit une meilleure efficacité et évite des erreurs) de placer dans un module dans l'ordre suivant : les déclarations (s'il y en a : options générales si on en utilise, variables de niveau module, déclarations de fonctions API le cas échéant), les procédures Function (et s'il y a lieu les procédure de type Property), les procédures Sub.] Ajout d'une inscription dans la récap Suivis : bouton Ajouter sur la feuille. Emission des états : Réinitialisation annuelle : bouton Réinitialiser sur la feuille récap. Autres procédures : Voilà pour essayer de t'y retrouver plus précisément... | ||||||||
Petit astucien | Bonsoir Je suis désolé de n'avoir pu te répondre plus rapidement,le temps est une donnée invariable qui file à une vitesse vertigineuse...plus que 11 mois avant noël :-) J'ai enfin pu essayer le tableur... Cela me convient, j'ai effectué deux essais, en prenant des feuilles existantes. Il faut aussi que je m’imprègne de tes commentaires. Bientôt les vacances scolaires vont me permettre de prendre du temps pour digérer et voir comment modifier (si tu le permet) certain nom de fichier, comme le fichier état que je souhaiterai sous forme affaire-ns-année. L'enregistrement du dossier_affaire dans le dossier_mère_année en cours n'est pas gênant, il me suffira de faire des copies. il existe des logiciels de sauvegarde. Merci pour ton aide. Cordialement | ||||||||
Petit astucien | Bonjour Ferrand J'ai pu enfin tester le proto, et tout ce que j'ai à dire bravo, Je n'ai pas encore pu décortiquer la macro, j'espère arrivé un jour à ton niveau. J'ai trouvé le "userform1" pour la saisie de départ mais pas le feuille dans le classeur (jaune) qui permet la saisie de la totalité des données.
Bon WE
| ||||||||
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|