Visualiser avant fermeture

Bonjour,

j’ai réussi, Merci à toi pour ces bons conseils et cette explication. :+1: :+1:

Un jour je serai peut-être aussi bon dans ce domaine. :rofl: :rofl:

Bonne journée et à une prochaine.

Cdt Rubis

Bravo bravo !!!
Il n’y a pas de souci tu vas me rattraper et me dépasser c’est certain et plus vite que tu ne le penses à ce rythme
Tu es sur la bonne voie

Au plaisir une prochaine fois

Bonjour,

me voila encore une fois. J’aurai pu poser la question hier mais bon !

j’ai deux fichiers ci-joints. TDB et PARAMETRES

Dans le fichier TDB il y a deux feuilles nommées « LISTE » et « USERFORM ».

J’ai mis en place sur la feuille « LISTE » une liste déroulante en B3 et cette liste devrait avoir comme source les données qui sont dans le tableau « ListeNoms » qui se trouve dans le fichier « PARAMETRES » ce fichier devrait rester toujours fermé.

J’ai aussi mis en place sur la feuille « USERFORM » un bouton qui appelle le userform1 et dans ce UserForm1 j’ai une ComboBox1 qui devrait prendre ses données dans le fichier « PARAMETRES » tableau « ListeNoms »

Alors ma question: Est-ce possible de faire fonctionner cette liste déroulante et ce ComboBox tout en laissant fermé le fichier « PARAMETRES » ?

Je te Remercie pour ta réponse.
Cdt Rubis
TDB.xlsm (17,2 Ko)
PARAMETRES.xlsm (9,6 Ko)

Bonjour

Une liste déroulante doit avoir sa source sur le même fichier

Je ne pense pas que celle-ci puisse provenir d’un autre fichier de surcroît fermé

On peut utiliser un onglet dans le fichier « TDB » (existant ou à créer) pour intégrer une image de cette liste externe à alimenter à son ouverture sur la base de ton 2° fichier « PARAMETRES.xlsm »
Ce dernier sera ouvert pour récupérer les données de la liste puis refermé
Un enregistrement sera ensuite effectué pour conserver la réactualisation de la liste

Voilà ce que je te propose

Les 2 fichiers seront je suppose dans un même répertoire avec pour celui source de la liste toujours la même appellation

A toi de me dire

Bonjour et Merci d’avoir pris le temps de me répondre.

Alors c’est mieux si je laisse comme c’est pour l’instant, c’est à dire dans chaque module un onglet avec les différents paramètres utiles au fonctionnement du module.

ou alors

ta proposition avec l’image.

Tu en penses quoi ?

C est toi qui voit

Maintenant je ne vois pas trop ce que tu veux avec ceci :

« c’est à dire dans chaque module un onglet avec les différents paramètres utiles au fonctionnement du module. »

Donc avec celles qui concernent ces listes déroulantes ?

Qu’ est ce que tu appeles module ?

Si je n ai pas plus d éclairage je ne peux te dire ce qui est le mieux de mon point de vue

Alors moi j’appelle module les différents fichiers dans mon dossier principal du logiciel.
C’est adire que j’en ai 6 en tout avec le TDB.
Les autres sont les fichiers suivant :

  • Fichier Gestion stock qui contient 5 onglets
  • Fichier Production qui contient 4 onglets
  • Fichier Gestion Personnel qui contient 8 onglets
  • Fichier Gestion des frais qui contient 6 onglets
  • Fichier Comptabilité qui contient 6 onglets

en plus chaque fichier contient un onglet masqué avec justement ces différents paramètres dont je te parlais et qui servent de source pour différentes listes déroulantes ou alors qui servent à alimenter des combobox.

Moi j’aurai bien aimé rajouter dans le dossier principal un fichier nommé « PARAMETRES » avec un onglet qui contient toutes les informations qui servent justement à alimenter les listes déroulantes et combobox.

Ca aurait fait moins désordre et on aurait eu toutes les infos sur un onglet.

J’espère que j’ai bien expliqué.
Maintenant je ferai comme tu dira

Compte tenu de cette structure tu ne gagneras rien avec un fichier « PARAMETRES » externe
Tu seras contraint pour chaque fichier avec liste déroulante aux données de celui-ci de les récupérer pour les faire fonctionner
Seul avantage une seule source à faire vivre au lieu de plusieurs dans chaque fichier

A toi de voir ce que tu souhaites

Donc pour toi c’est mieux de laisser comme c’est ?

Il n’ y a pas de mieux au niveau fonctionnement il ne peut y en avoir qu’au niveau utilisation et là c’est toi qui est le mieux adapté pour le dire pas moi

OK alors je laisse comme c’est. Pour moi tout fonctionne , c’était juste pour n’avoir qu’un seul onglet infos.

Je termine enfin mon petit projet ce week-end et à partir de lundi je t’enverrai un premier module et tu pourra me dire ce que tu en penses si tu veux bien.

En attendant Merci pour toute ton aide durant ce projet et pour toutes ces infos professionnelles et très précieuses de ta part.

Bon week-end et A+

Rubis

Bonjour,

j’ai encore un dernier point que je voudrai ajouter.

Dans le fichier « PROJET A » ci-joint, il y a la feuille nommée « A » qui contient un bouton appelant un UserForm de saisie.

Ce UserForm devrait me servir à saisir 4 prix chaque mois. Une fois les 4 Textbox des PRIX A, B, C et D remplies je voudrai, via le bouton « valider la saisie », transférer ces données dans le tableau qui se trouve dans le deuxième fichier ci-joint nommé « PROJET B » sur la Feuille nommée « RECAP PRIX » tout en s’inscrivant dans les cellules du mois en cours.

Alors est-ce possible?
J’espère que j’ai bien expliqué mon souhait.

Merci d’avance à toi.

Cdt Rubis

PROJET A.xlsm (17,3 Ko)
PROJET B.xlsm (10,6 Ko)

Bonjour

Les 2 fichiers doivent être ouverts
Dans le formulaire de saisie j’ai rajouté un bouton « TRANSFERT »
Dans le fichier de destination la colonne du mois à remplir est celui en cours lors de cette action
Aujourd’hui nous sommes le 13 février 2022 donc la colonne cible est celle de février
Dans cet esprit saisis tes 4 montants et cliques sur le bouton « TRANSFERT »
Vérifies le résultat obtenu dans le fichier cible « PROJET B.xlsm »
Si OK il faut l’enregistrer pour conserver le résultat
On peut inclure cet enregistrement dans le traitement
A toi de me dire
Attention le nom du fichier cible « PROJET B.xlsm » est inscrit en dur dans le code il ne doit donc pas être modifié

Testes et dis moi

PROJET A.xlsm (21,9 Ko)

Bonjour,

oui c’est en gros comme souhaité.
Mais on est obligé de laisser le fichier cible ouvert ?
Et oui peut-on faire en sorte qu’il enregistre et referme a nouveau le fichier cible?

Merci à toi

« Mais on est obligé de laisser le fichier cible ouvert ? »
Si il n’est pas ouvert comment vois tu la chose car impossible de l’alimenter fermé ?

« Et oui peut-on faire en sorte qu’il enregistre et referme a nouveau le fichier cible? »

Enregistrer oui mais le fermer impossible tant que le formulaire est ouvert donc pas simple

Bonjour,

désolé pour le retour tardif , le boulot !

Alors j’ai modifié certaines choses pour essayer de faire en sorte qu’il ouvre provisoirement le fichier cible et le referme après traitement comme je l’avais souhaité.

Tu verras la macro dans le fichier ci joint. Si tu pourrai jeter un oeil et me dire si on peut laisser , car j’ai fais des tests et cela fonctionne.

Saches que les deux fichiers se trouvent chez moi dans un dossier nommé « TEX », d’ailleurs la macro l’indique.

Mais je suis obligé de rajouter un onglet dans le fichier cible qui se nomme « ACHATS MENSUELS » pour stocker des autres données. or, dès que je rajoute cet onglet il bug lors du transfert des prix sur l’onglet « RECAP PRIX » !

Que faut-il rajouter ou modifier dans la macro pour remédier à ce bug ?

Je te dis Merci à l’avance
Cdt Rubis
PROJET A.xlsm (20,8 Ko)
PROJET B.xlsm (11,9 Ko)

Bonjour

Chez moi cela fonctionne
Maintenant je pense qu’il aurait été mieux d’utiliser un onglet dans le fichier du formulaire pour récupérer les saisies effectuées au lieu d’aller ouvrir un fichier externe pour le compléter
Quid de ce fichier si il est resté ouvert ou utilisé par un tiers ?
C’est toujours plus lourd d’ouvrir une cible pour la compléter que d’utiliser le même fichier à cette fin avec en plus ce genre de risque à gérer

Puis lorsque cela le nécessite de vider cet onglet complété dans ce fichier externe par exemple une fois par mois

C’est toujours cette manière de procéder que j’utilise moins risquée et plus light en terme de traitement

Ta solution n’est intéressante et à privilégier que lorsque le fichier cible doit être partagé alimenté par plusieurs utilisateurs pour avoir un seul et même document final

Maintenant c’est toi qui voit

Pour ton bug je pense que dans ces lignes de code que tu as rajouté :

Workbooks(« PROJET B »).Save
Workbooks(« PROJET B »).Close

Il manquait dans le nom du fichier son extension comme ceci :

Workbooks(« PROJET B.xlsm »).Save
Workbooks(« PROJET B.xlsm »).Close

Tu as rajouté aussi cette ligne de code qui est bien handicapante pour consulter le résultat obtenu en cible :

Sheets(« RECAP PRIX »).Visible = 2

Elle interdit l’accès à l’onglet alimenté donc impossible de consulter ses données

Pas cool

Je l’ai inhibée

Je ne vois pas trop l’intérêt de la conserver car plus une contrainte qu’un avantage

Le fait de rajouter un onglet "ACHATS MENSUELS " m’a obligé à nommer précisément l’onglet à alimenter dans les lignes de code à cet effet comme par exemple :

Workbooks(« PROJET B.xlsm »).Sheets(« RECAP PRIX »).Cells(7, colonne).Value = TextBox1.Value

Il y avait au départ ceci :

Workbooks(« PROJET B.xlsm »).ActiveSheets.Cells(7, colonne).Value = TextBox1.Value

c’est à dire l’onglet actif dans le fichier PROJET B.xlsm

Du fait de ce 2° onglet rajouté si celui-ci devient celui actif erreur de cible en perspective

Donc de nommer l’onglet concerné dans la recopie des résultats

J’espère que son nom ne sera pas modifié

Je te joins ton fichier avec ces évolutions

Regardes et dis moi

PROJET A.xlsm (23,5 Ko)

Bonjour,

Merci beaucoup à toi pour comme toujours un travail formidable. :+1: :+1: :+1: :+1:
Tout fonctionne. Donc derniers tests en cours et je te ferai parvenir un exemple.

Je te dis A+

Cdt Rubis

Très bien
Donc suite au prochain episode
Au plaisir

Bonjour,

moi qui croyais avoir terminé !! On s’en rends pas compte !

Alors je t’explique:

Dans mon fichier de départ qui se nomme « TDB » se trouvent tous les boutons pour accéder aux modules(fichiers).

A partir de ce TDB je peux également, entre autre, saisir les effectifs du jour.

Alors le matin lors du lancement du programme, et cela entre 06H00 et 08H00 il m’affiche un userform de rappel, m’indiquant de bien saisir les effectifs avant le lancement de la production.

Mais, ce rappel reste actif pendant ces deux heures même si les effectifs ont été saisis.

Ce que j’aurai voulu, c’est faire en sorte que une fois les effectifs saisis via un userform que j’ai un bouton sur celui-ci qui me permettrai de désactiver le rappel.

J’espère que tu comprends. je te laisse ci-dessous les deux codes concernant ce rappel.
Un se trouve dans ThisWorkbook
L’autre dans un module

Je te Remercie d’avance pour ton aide.

Cdt Rubis

codes rappel.pdf (87,1 Ko)