Création de USERFORM pour Base de Données

excel_l1t

XLDnaute Occasionnel
Bonjour tout le monde et chacun !

Je suis affecté à un poste où je reçois par jour des centaines de titres de paiement (Bon de commande, mandat de paiement, décision de mandatement et beaucoup d'autres). Mon supérieur hiérarchique m'a demandé de proposer une base de données dans laquelle on enregistrerait toutes les informations utiles sur ces titres de paiement à leur arrivée, de sorte que lorsqu'un usager vient au bureau pour prendre des renseignements sur la situation desdits titres (avec la situation, l'usager est informé si son dossier est visé, mis en instance, rejeté ou différé et quel en est le nouveau destinataire ; généralement l'usager vient avec des renseignements tels que LE NUMERO DU BORDEREAU DE TRANSMISSION de son dossier à l'arrivée et la DATE D'ARRIVEE).

Pour résumer, je voudrais que vous m'aidiez à créer dans EXCEL, un USERFORM qui se présenterait comme celui proposé dans le classeur joint ci-contre et une base de données qui recueillerait toutes les informations qui y seraient tapées. Je voudrais dans ce userform, qu'il y ait : toute les rubriques de la base de donnée en plus d’un bouton "NOUVEAU" qui me permettrait à chaque nouvel enregistrement, de juste cliquer et d'entrer les informations des titres ; une "case" dans laquelle je taperais les informations de l'usager pour avoir automatiquement sur une autre feuille les dits renseignements que j'imprimerais ; un autre bouton "FERMER".
Enfin je voudrais qu'à l'ouverture de ce classeur, qu'il y ait un « LOGIN » avec deux utilisateurs : Délégué et Assistant, chacun avec un mot de passe différent, avec la possibilité de changer de mot de passe tous les trois mois.

Je sais que le travail que je demande est dense (pour moi peut-être car je suis quasiment novice dans la création des userforms) mais je crois aussi en vous tous qui nous aidez sur ce forum. J'ai confiance que vous y arriverez et que ce travail sera utile à d'autres.

Merci d’avance à chacun et à tous.
 

Pièces jointes

  • ARRIVEE-DEPART_BD.xlsx
    31.4 KB · Affichages: 272
  • ARRIVEE-DEPART_BD.xlsx
    31.4 KB · Affichages: 278
  • ARRIVEE-DEPART_BD.xlsx
    31.4 KB · Affichages: 262

xhudi69

XLDnaute Accro
Re : Création de USERFORM pour Base de Données

Bonjour excel_l1t, le Forum,

En PJ ton fichier remanié au niveau de la recherche (sur l'onglet "Saisie"), le choix est donné pour la modification de (des) "Arrivée " et (ou) "Départ".

Pour faire l'essai le Créancier "EIFFAGE" n'a pas de "Départ", tous les choix te sont donnés.

Essaies et fait moi ton retour.

@+ :cool:
 

Pièces jointes

  • excel_l1t_V3_0.xlsm
    124.2 KB · Affichages: 86
  • excel_l1t_V3_0.xlsm
    124.2 KB · Affichages: 84
  • excel_l1t_V3_0.xlsm
    124.2 KB · Affichages: 81

excel_l1t

XLDnaute Occasionnel
Re : Création de USERFORM pour Base de Données

:rolleyes::D;):cool: Cher ami XHUDI69, je suis aux anges car tu surprends admirablement et de façon exquise (ce n'est pas un bluf et je le pense vraiment), tu me surprends, T;)n Travail est Parfait, c'est :cool:K !
Au passage, ta nouvelle image (global trance) est jolie et doit avoir un sens !
Merci encore !
 

xhudi69

XLDnaute Accro
Re : Création de USERFORM pour Base de Données

Bonjour excel_l1t, le Forum,

Content que cela te plaise, essaies à fond ton fichier et fais moi (si il y en a) tes observations avant de verrouiller le fichier.

Je suis fan de musique, de Prokofiev à la Trans Progessive en passant par le Rock Suddiste ;)

@+ :cool:

EDIT: Global Trance tous les samedi sur CLUBBERS RADIO (MELBOURNE)
 
Dernière édition:

excel_l1t

XLDnaute Occasionnel
Re : Création de USERFORM pour Base de Données

Bonsoir XHUDI69, le Forum !

Je vais essayer le fichier à fond comme souhaité, et te retourner des observations éventuelles de dernière minute, cette nuit même. je suis déjà à l'oeuvre.

Merci et à tout à l'heure !
 

excel_l1t

XLDnaute Occasionnel
Re : Création de USERFORM pour Base de Données

Bonjour cher ami XHUDI69, le Forum !

J'ai pu saisir assez de données vraies depuis ce matin (sans confidentialité bien sûr) et je voudrais à cet effet, faire quelques observations doléances :

- la colonne <Imputation Arrivée> de la feuille "Renseign.Source" refuse de reconnaitre les imputations que je renseigne, c'est pourquoi j'ai joint et le fichier récent avec les enregistrements et un fichier doc avec quelques imputations : tu vas constater dans la Base, que j'ai été obligé de renseigner simplement les derniers chiffres de ces imputations ;

- l'ordre de tabulation lors de la saisie sur le userform ne se suit pas. Je souhaiterais qu'il y ait une suite : (titres-date d'arrivée-expéditeur à l'arrivée-destinataire à l'arrivée-BT à l'arrivée-Mandat arrivée n°-Créancier-Objet-Imputation arrivée- Montant à l'arrivée), de même qu'au niveau du DEPART ;

- Cette observation-ci m'avait totalement échappée. Quand tu regardes dans la base, tu constateras que beaucoup de "Mandats à l'arrivée" nous sont convoyés souvent par le même Bordereau de Transmission (BT à l'arrivée). Or, pour renseigner un usager qui usager sur un BT donné, on le renseigne principalement (suite à d'autres explications de mon Chef ce matin) sur les informations que j'ai dû insérer sur une autre feuille "SIMENS" de la Base. Par conséquent, je voudrais te demander de m'aider à faire de sorte que les informations qui doivent aller dans le tableau sur la feuille "SIMENS" viennent du Userform directement, pour éviter des erreurs de manipulations de la Base de données ;

- Dans l'historique, je proposerais qu'on réduise la taille des caractères pour faciliter la lecture surtout au niveau du créancier et de l'objet ;

- Ici, je voudrais t'informer que j'ai invité mon Chef à saisir et voir comment les enregistrements se font. Dans ce cadre, elle m'a fait remarquer que, comme le même objet peut revenir plusieurs fois (se répéter), il faudrait paramétrer le textbox de l'objet, de sorte que, quand la saisie des premières lettres de l'objet sont commence, saisies, que la suite s'affiche déjà (au cas où le même objet ait été enregistré antérieurement) : ainsi, on n'aura qu'à cliquer pour confirmer la saisie.

- Une dernière chose que je constate c'est qu'à la fermeture du classeur, il y a un message (genre bug) qui apparaît et signale qu'<excel a rencontré un problème et qu'il faut récupérer le travail>, après quoi, quelle que soit le classeur se ferme et une barre de progression apparaît à la suite de laquelle excel s'ouvre à nouveau et demande de choisir le fichier récupérer ou l'ancien à une heure antérieure (tu vois de quoi je parle) ;

Je crois que j'ai pu rendre ces observations fidèlement. Je crois en toi, je crois en tes compétences dans le domaine VBA et je t'encourage déjà pour ce qu'il y a à faire.

Merci !
 

Pièces jointes

  • 25 390003 92102 6224.docx
    9.8 KB · Affichages: 69
  • excel_l1t_V3_0.xlsm
    93 KB · Affichages: 63
  • excel_l1t_V3_0.xlsm
    93 KB · Affichages: 70
  • excel_l1t_V3_0.xlsm
    93 KB · Affichages: 71

excel_l1t

XLDnaute Occasionnel
Re : Création de USERFORM pour Base de Données

Bonsoir cher ami, le Forum !

J'ai tellement hésité depuis le matin à ajouter ce dont je vais parler mais, après hard réflexion, j'ai une proposition.

En effet, il s'agit au niveau du départ, sur le userform, du "Nouveau montant" et du "Mandat Départ N°". Mon Chef m'a dit que ces deux éléments, (de même que le "Mandat arrivée N°" d'ailleurs) sont statiques depuis quelques temps, c'est-à-dire, au Départ comme à l'Arrivée, qu'ils ne changent pas, ils ne sont pas modifiés.

Et je voudrais proposé :

- que l'élément "Mandat Arrivée N°" soit maintenu à place tel ;

- pour le "Nouveau montant" et "Mandat Départ N°", je souhaiterais lors de la saisie des références Départ, que leurs contenus apparaissent automatiquement avant la saisie (et qu'ils y restent grisés jusqu'à validation). Je ne sais pas si c'est possible mais je crois en toi. Il paraît que quand le motif d'un rejet porte par exemple sur un montant mal calculé, il faut simplement le mentionner sur un papier et le coller au Mandat départ. C'est pourquoi j'ai réfléchi et je voudrais te soumettre cette proposition que tu peux toujours modifier, selon ton inspiration. J'espère que j'ai bien expliqué. Pour de plus amples explications, s'il te plait n'hésite pas.

Voilà, mes hésitations sont levées.

Merci encore !
 

excel_l1t

XLDnaute Occasionnel
Re : Création de USERFORM pour Base de Données

Cher ami,

Sitôt après avoir posté ce précédent message, (après une houleuse discussion), on vient de me dire que LE MONTANT PEUT CHANGER. A cet effet, je voudrais te demander de ne pas considérer l'observation sur le "NOUVEAU MONTANT", tu peux le maintenir tel à sa place, tout comme le "MANDAT ARRIVEE N°". Dans ce cas, seul le "MANDAT DEPART N°" apparaîtra automatiquement et resterait grisé puisque c'est le même que le "MANDAT ARRIVEE N°".

Je te présente mes sincères excuses pour ce revirement brusque de situation.
Merci encore !
 

xhudi69

XLDnaute Accro
Re : Création de USERFORM pour Base de Données

Bonsoir excel_l1t, le Forum,

Je tiens compte de tes observations et modifie le fichier en conséquence, pour le champ grisé ce n'est pas un problème.
Je ne finirais pas ce soir (il faut que j'assimile les modifications souhaitées), car j'ai une semaine chargée (déplacements), je pense qu'il est raisonnable que je finisse le fichier à la fin de semaine.
Merci pour ta patience, le fichier n'en sera que mieux finalisé.

@+ :cool:
 

excel_l1t

XLDnaute Occasionnel
Re : Création de USERFORM pour Base de Données

Bonsoir cher ami, le Forum !

Tu n'es pas qu'un ami, je te considère désormais comme un "frère" si tu me le permets.
Tu m'invites à la patience mais c'est d'abord toi qui est d'une patience admirable. J'envie
cette qualité (je ne te connais pas dans le privé) que tu as, et je serais patient. La qualité du
travail en importe.

Merci et bonne soirée à toi !
 

excel_l1t

XLDnaute Occasionnel
Re : Création de USERFORM pour Base de Données

Bonsoir cher ami XHUDI69,

J'espère que tu te portes bien.

En fait, après des saisies, j'ai essayé de faire des recherches dans l'historique (après un laps de temps de répit). Et j'ai constaté
que les saisies enregistrées pour ce qui concerne le DEPART n'ont pas été prises en compte. En effet, dans l'historique, quand je recherche une saisie par le créancier (par exemple), il ne s'affiche que les informations sur les ARRIVEES, or j'ai eu à enregistrer déjà les DEPART aussi.

Je voudrais juste que tu m'aides à voir ce qui cloche, car j'ai refais les saisies "DEPART" mais le problème demeure.
A défaut, je joins le fichier avec mes enregistrements (tu pourrais faire l'essai pour voir).

Merci pour le dérangement et ton temps précieux que tu nous consacres.

Thanks a lot !
 

Pièces jointes

  • excel_l1t_V3_0.xlsm
    116.6 KB · Affichages: 75
  • excel_l1t_V3_0.xlsm
    116.6 KB · Affichages: 74
  • excel_l1t_V3_0.xlsm
    116.6 KB · Affichages: 77

Jam

XLDnaute Accro
Re : Création de USERFORM pour Base de Données

Salut xhudi69, excel_l1t, le forum,

Par curiosité j'ai voulu jeter un oeil au fichier. Je n'ai pas donné suite pour plusieurs raison que je souhaiterai vous faire partager (ni voyez aucune offense):
- J'ai rencontré une erreur de référence au démarrage du fichier...difficile donc de le faire fonctionner. Il s'agit probablement d'une bibliothèque d'objet non présente sur mon PC. Le fichier bug donc et impossible de le tester. Attention donc sur ce point, à veiller à utiliser des biblio courantes (je pense que cela provient du calendrier utilisé) qui risquent de poser des problèmes vu le souhait de diffuser l'appli sur de nombreux postes
- Concernant le code:
xhhudi69, Pourrais-tu le documenter, car lorsqu'on passe derrière difficile de s'y retrouver lorsqu'on a pas l'historique. Si demain tu ne peux plus aider excel-l1t, les éventuels successeurs auront bien du mal à l'aider rapidement
- Option Explicit: cette petite déclaration en début de module est particulièrement recommandée. Elle permet de ne pas oublier de déclarer ses variables et évite donc souvent des erreurs dans le code. Par exemple tu utilises la variable f pour lui affecter une feuille sans être déclarée auparavant dans la Sub ComboBox16_DropButtonClick() du module UserForm5. Ah, j'en profites au passage pour te conseiller fortement de nommer tes objets avec des noms "lisibles". Par ce que ComboBox16_DropButtonClick() ça dit franchement pas grand chose ;) et ce d'autant plus que tu utilises beaucoup d'objets dans les userforms ici.
- par convention, on met en général les Dim en en-tête de Sub, c'est plus facile de retrouver des variables que de chercher les déclarations à l'intérieur des Sub()
- Autre point qui m'interpelle un peu (toujours dans UserForm5 ): Tu effectues pour plusieurs objets (pour ComboBox2 à 9 sauf erreur) exactement la même chose à la seule différence qu'une colonne différente est utilisée. Tu dois donc pouvoir créer une petite procédure à laquelle tu te contenterai de passer la lettre de la colonne. Tu y gagnerais en maintenance du code, en lisibilité et en efficacité
- toujours pour gagner en lisibilité, vitesse, etc...nommes les feuilles et utilises directement leur petit nom c'est très très pratique ;) Par exemple si tu nommes la feuille Renseign.Source directement dans ses propriété (par exemple wksRensSource), tu remplaceras le code
Code:
Set f = Sheets("Renseign.Source")If f.Range("B3").Value = "" Then
par
Code:
If wksRensSource.Range("B3").Value....
sans avoir à affecter une variable et en économisant une ligne de code.
- Dernière chose, comme tu utilises un algo de tri Quick Sort, il me semble d'autant plus impératif de déclarer tes variables. Le gain de calcul peut être particulièrement conséquent. Enfin, je ne saisis pas bien pourquoi tu utilises les Dictionnary qui sont des objets très lents. Il me semble, mais je peux me tromper, que transférer les données sélectionnée dans un tableau (Array) et les trier puis ensuite les mettre dans ton objet serait beaucoup plus rapide (jette un oeil ici Utiliser les variables tableaux en VBA Excel).

En tout cas cela reste un gros travail et c'est tout à fait remarquable. Bravo et bon courage pour la suite en espérant que tu ne prendras pas ombrage de mes quelques conseils.
 

xhudi69

XLDnaute Accro
Re : Création de USERFORM pour Base de Données

Bonsoir excel_l1t, le Forum,

Pour répondre à ton Post #82
la colonne <Imputation Arrivée> de la feuille "Renseign.Source" refuse de reconnaitre les imputations
Les données de ces colonnes doivent être au format "standard" et non au format "nombre", du fait que nous n'utilisons que la valeur Text de ces cellules et qu'aucun calcul n'est fait.
l'ordre de tabulation lors de la saisie sur le userform ne se suit pas
La chose sera corrigé.
Par conséquent, je voudrais te demander de m'aider à faire de sorte que les informations qui doivent aller dans le tableau sur la feuille "SIMENS"
la chose sera faîte.
Dans l'historique, je proposerais qu'on réduise la taille des caractères pour faciliter la lecture
Deux solutions:
1) étiré l'userForm jusqu'a ce que le "Roman" ;) qui est dans les cellules tienne
2) essayer de condencer ou de coder les saisies
3) faire un peu des deux. :D
elle m'a fait remarquer que, comme le même objet peut revenir plusieurs fois (se répéter), il faudrait paramétrer le textbox de l'objet, de sorte que, quand la saisie des premières lettres de l'objet
La méthode de recherche employée est faîte pour justement retrouver facilement et rapidement les données. je pense que la méthode à laquelle tu fais allusion serait trop fastidieuse à mettre en place et serait moins efficace, mais je peux me tromper.
Pour le "BUGG" de fermeture de fichier, je l'ai eu aussi, je n'ai pas eu le temps de m'y penché :p

@+ :cool:
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 425
Membres
103 206
dernier inscrit
diambote