VBA multipage et formulaire

Bonjour,

Ce n'est pas complété > je veux juste m'assurer que les changements dans la recherche te conviennent ...

Il y a une recherche par Nom, Prénom ou Numéro de dossier ...

Dans les deux premiers cas > le résultat s'affiche dans la listbox > tu peux cliquer sur une ligne du listbox pour remplir le Userform avec ce numéro de dossier ...

Dans le 3e cas > le numéro remplit directement le Userforme > j'ai pensé ajouter l'option que saisir "0" donnerait le dernier numéro enregistré ...

Il pourrait aussi y avoir l'option que > lors d'une recherche par Nom ou Prénom > s'il y a un seul résultat dans la listbox > le userform se remplirait automatiquement avec ce résultat ...

Il y a aussi à revoir l'ordre de déplacement d'un champ à l'autre "TabIndex" > lorsqu'on utilise la touche "Tabulation" ...

Il pourrait aussi y avoir des indications au survol des champs avec l'option "ControlTipText" ...

Il reste du travail de "fignolage" afin que ce soit tout beau comme un cadeau quand l'on regarde avec nos yeux de préados ...

ric

Bonjour ric,

Je n’en crois pas mes yeux de "préados"… les changements me conviennent tout à fait, c’est vraiment un super jod.

C’est très facile de choisir un dossier par nom ou par N° de dossier.

Je pense avoir tout essayé est ça fonctionne bien.

Juste un souci avec le "0"

j'ai pensé ajouter l'option que saisir "0" donnerait le dernier numéro enregistré
... quand je saisie "0", c’est le dossier N°1 qui s’affiche, pas le dernier.
Il pourrait aussi y avoir l'option que > lors d'une recherche par Nom ou Prénom > s'il y a un seul résultat dans la listbox > le userform se remplirait automatiquement avec ce résultat ...
j’aime bien cette option. Si tu peux l’inclure, ne te prive pas….

Comme je le disais dans mon premier message, ce tableau doit uniquement servir à alimenter des TCD et GCD, les colonnes A à EH seront masqué par la suite… L’onglet tableau de bord n’affichera que le bouton pour ouvrir le formulaire et quelques statistiques. Le problème, c’est que ce bouton n’arrête pas de descendre au fur et à mesure que le tableau s’étoffe. Peux-tu faire quelque chose pour empêcher ça STP ?

Il va maintenant falloir que je comprenne toute ces lignes de code, j’espère arriver un jour à ton niveau…

Merci pour ton aide

Bonjour,

L'option "0" donnant le dernier > c'était à faire ...

L'option "si unique" > remplir formulaire > si ça te plaît > je vais l'inclure ...

Pour le bouton qui descend lors de l'ajout de nouveaux dossiers > j'en suis l'auteur et le coupable ...
En fait > j'ajoute une ligne vide avant l'ajout de la ligne au tableau (nouveau dossier) justement pour faire descendre le bouton > pour contrer > clique droit sur le bord du bouton pour avoir le menu contextuel donnant l'item "Taille et propriétés..." > dans propriétés > choisi "Ne pas déplacer ou dimensionner avec les cellules" > dès lors > il restera inerte comme un .......*au choix*........ abandonné ...

Je me doute bien que le fichier exemple n'est pas le fichier de travail > comment est-ce que tu transfères les modifications au fichier de travail ? > le plus simple est d'exporter le formulaire du fichier exemple et de l'importer dans le fichier de travail > ou encore > ouvrir les deux fichiers > puis dans VBE > faire glisser le formulaire sur le fichier de travail ...

ric

Bonjour ric,

En effet, l’option «0 » et l’option « si unique » me plaise bien. Si tu peux les inclure, j’en serais ravi.

Le deuxième tableau est dans un autre onglet.

Pour copier instantanément, j’utilise des formules Excel toutes simples comme

=SI('Tableau de Bord'!A2="";"";'Tableau de Bord'!A2)

et pour les cellules concaténer

=CONCATENER('Tableau de Bord'!O2;CAR(10);'Tableau de Bord'!AB2;CAR(10);'Tableau de Bord'!AO2;CAR(10);'Tableau de Bord'!BB2;CAR(10);'Tableau de Bord'!BO2;CAR(10);'Tableau de Bord'!CB2)

qui permet de mettre à la ligne chaque concaténation.

Ensuite je protège la feuille pour que personne ne puisse faire des modifications dans ce tableau et j’attribue un lien hypertexte à chaque Nom ce qui me permet de consulter les fichiers du dossier concerné sans avoir à chercher.

Si tu as un peu de temps pour documenter toutes ces lignes de code, cela me permettrait de comprendre et d’apprendre, je t’en remercie.

Merci pour ton aide.

Bonjour,

Attention aux feuilles protégées > si le code doit y écrire > il pourrait y avoir un souci ...

Il y a un code pour protéger les feuilles tout en laissant le code agir à sa guise > mais ce ne sont pas toutes les actions qui sont "Free pass" ...

J'ai documenté une bonne partie du code > puis > j'ai manqué de jus ...

Par contre pour le reste > tu devrais pourvoir le faire > il n'y a rien de bien difficile > sinon > ce sera pour un autre jour ...

J'ai placé les labels dans le formulaire (uniformiser les largeurs, hauteurs, etc.) et j'ai arrangé un tantinet l'affichage ...

La recherche par nom ou prénom se fait maintenant tant par le début du texte que n'importe où dans le texte ...
Exemple "sudpicardie" > tu peux rechercher : car > la recherche affichera le/les résultats ...
C'est utile parfois pour rechercher un nom ou prénom dont l'orthographe est différente de celle dont l'on est habitué ...

J'arrête de caqueter > mes batteries sont pour ainsi dire "vides" ...

Regarde cela > je reste disponible pour ......... > je ne sais plus > quelque chose ...

ric

NOTE : Le fichier a été mis à jour avec les corrections ...

Bonjour,

Je crois que j'ai fait trop de ménage > l'option si unique ne fonctionne plus > je n'ai pas suffisamment porté attention ...

Regarde le reste et je te reviens bientôt > dès que si unique fonctionne à nouveau ...

ric

Bonjour,

Après un petit repos ...

Les corrections ont été faites ...

Le fichier précédent a été mis à jour ...

ric

Bonsoir ric,

Merci d'avoir documenté les lignes de code, je vais pouvoir regarder ça de plus près et mieux comprendre car pour l'instant .... c'est encore très flou pour moi.

Après plusieurs essais, j’ai rencontré les problèmes suivants :

Je crois que j'ai fait trop de ménage > l'option si unique ne fonctionne plus > je n'ai pas suffisamment porté attention ...

Effectivement, tu as trop balayé… quand il reste 1 dossier dans la liste, il affiche dans le formulaire celui qui se trouve juste avant (pour le N°10 il affichera le N°9) aussi bien pour la recherche par nom que par prénom.

Le bouton Modifier ne fonctionne plus, même si la textbox Nom n’est pas vide (comme pour le bouton Ajouter)

frmSaisie.MultiPage1.Value = 0 ' ça je ne comprends pas

frmSaisie.MultiPage2.Value = 0 ' ça je ne comprends pas

Ce code permet aux Multipages d’afficher l’onglet 1 à chaque ouverture du formulaire, sinon c’est l’anarchie.

Merci pour ta patience et ton aide

Bonjour,

Les données affichées dans le formulaire > corrigé ...

Le bouton "Modifier" qui ne s'activait pas > corrigé ...

Si l'on sélectionne une ligne dans la listbox > les données s'affichent dans le formulaire > l'on apporte les changements désirés > le bouton "Modifier" applique les changements dans "TDonnées" (feuille "Tableau de Bord") et la listbox est actualisée ...

Pour tester l'actualisation de la listbox > faire une modification du "Nom" ou du "Prénom" ...

ric

Bonsoir ric,

J’ai une bonne nouvelle…tout fonctionne parfaitement.

La recherche par nom fonctionne très bien, celle par N° de dossier également.

Merci pour ta patience et ton aide car il est clair que ce projet était d’un niveau bien au-dessus de mes compétences actuelles.

Il me reste à digérer toute ces lignes de code et je sens déjà que je vais y passer des heures …des jours…. des semaines.

Je vais également devoir adapter la liste des services suivant les sites et donc faire 4 fichiers, car malheureusement, j’ai complétement zappé que la liste des services était différente suivant le site (seul les Pôles sont identiques sur les sites), ce qui aurait permis d’avoir un seul fichier plutôt que 4… la prochaine fois je réfléchirai à deux fois.

Encore un grand merci pour aide précieuse… et à une prochaine fois, peut être.

Bonjour,

Il n'est peut-être pas trop tard pour un fichier global ...

Quelles sont les différences d'un site à l'autre ?

Ce qui est intéressant avec les tableaux structurés > l'on peut ajouter des colonnes sans foutre le bordel dans le code ...

ric

Bonsoir ric.

Merci de te proposer pour m’aider une fois encore.

Si tu penses qu’il est encore temps d’intervenir, Je joins un fichier pour visualiser la chose…

En fait, seuls les services des pôles sont différents suivant le site. Tout le reste est identique, quel que soit le site sélectionné.

22classeur1.xlsm (15.65 Ko)

Merci pour ton aide

Bonjour,

Je ne crois pas que ce soit difficile à faire avec un petit réaménagement du formulaire pour y ajouter un combobox pour les 4 "sites" ...

Je reviens bientôt.

ric

Bonjour ric,

Merci, c'est la meilleur nouvelle de la journée.

....ajouter un combobox pour les 4 "sites" ...

Par contre, ce combobox existe déjà dans le formulaire, juste en haut...

Merci pour ton aide

Re-bonjour ric,

J’ai validé mon précédent message trop vite…

Un autre problème est apparu ce matin en mode Modification : impossible de modifier le Service ou le Motif. Je suis obligé de changer le Pôle ou l’Item puis re-sélectionner à nouveau le Pôle et l’Item pour pouvoir choisir le Service ou le Motif à modifier.

Peux-tu, s'il te plaît, faire en sorte que le formulaire s’ouvre directement avec le mode saisie déjà sélectionné, tout en laissant le choix des deux options pour la suite du travail. Ou alors, bloquer la saisie tant que l’une des deux options n’est pas sélectionnée. Je me suis fait avoir deux fois ce matin et naturellement, quand on sélectionne l’option Saisie après avoir renseigné les champs, tout s’efface…

Merci pour ton aide.

Bonjour,

Avec tous ces noms bidons > ce n'est pas évident pour moi de suivre cela correctement > ce n'est pas trop représentatif ...

J'ai placé les nouveaux tableaux et j'ai donné une couleur différente chaque ensemble ( site1, 2 3 et 4 ) afin que tu t'y retrouves plus facilement quand tu écriras les vrais noms ...

Il ne me reste qu'à trouver pourquoi les combobox "Pôle" restent vides ...

Cela fait > je crois que ce sera complété ...

ric

Bonjour,

Il y a plus de détails à corriger qu'il n'y parut au premier coup d’œil ...

Peut-être demain ...

ric

Bonjour,

Il reste encore certains tests de stabilité à effectuer ...

Il y a aussi les items qui seront renommés dans les différents tableaux pour les différents sites ( travailler sur des copies ) > il pourrait s'avérer quelques soucis surtout si des infos sont déjà présentes dans le tableau "TDonnées" en discordance avec les items renommés dans les différents tableaux ...

Pour ajouter les 3 nouveaux lots de tableaux ( 4 sites en tout ) > j'ai dû les renommés > je les ai aussi changés de couleur pour se retrouver plus facilement > il ne faut modifier que le contenu des tableaux > pas leurs noms ...
Ce sont les contenus qui s'affichent dans les combobox ...

Tu remarqueras 3 étoiles rouges > ce sont des champs obligatoires > ils ont aussi des infobulles de renseignement (.ControlTipText)...

J'aurais dû mettre 3 étoiles au combobox "site" > si ce champ n'est pas renseigné dès le début d'un nouvel enregistrement > les combobox "Pôle" et leurs dépendants "Service" ne fonctionneront pas ...

Examine cela un tantinet ...

Je reste disponible ...

J'aimerai dont avoir plus d'expérience pour stabiliser et optimiser ce genre de projet > m'enfin > dans 10 ou 20 ans peut-être ...

NOTE : "Mode saisi actif à l'ouverture du formulaire" = fait ...

ric

Bonjour ric.

Super idée de marquer les champs obligatoires d’une étoile rouge, et merci d’avoir modifier le mode saisie à l’ouverture du fichier. C’est beaucoup plus pratique comme ça.

J’ai fait plusieurs essais et voici les bugs rencontrés pour le moment:

  • Quand on ouvre le formulaire pour une modification, impossible de modifier les motifs (rien dans le menu déroulant) et une erreur se produit.
  • Quand on sélectionne le site N1, il y a un décalage entre le Pôle et le service concerné: par exemple pour le Pôle BIO, il affiche les Services du Bloc …).

Pense-tu qu’il soit possible d’effacer tout le contenu du multipage1(au moins les Pôles et les Services) quand on modifie le site ? ceci afin d’éviter d’avoir des informations qui ne correspondent pas au site choisi.

J'aimerai dont avoir plus d'expérience pour stabiliser et optimiser ce genre de projet > m'enfin > dans 10 ou 20 ans peut-être ...

Perso, je te trouve déjà bien calé et je serai bien heureux si j’avais ton expérience. En lisant tes codes, je vois bien que ce projet était au-dessus de mon niveau… il faut que j’arrive à comprendre toutes ces lignes. As-tu quelques livres à me conseiller sur le sujet pour un débutant ?

Merci pour ton aide.

Bonjour,

Le décalage est déjà corrigé > de l'inattention de ma part ...

J'ai un peu de difficulté avec la propriété "MatchRequired" à vrai et les modifications quand l'on change le site ...

Si une information ne correspond pas "MatchRequired" > elle fait boguer le code ...

Il faut vider les combobox sous l'action du "cboSite" avant d'actualiser les combobox "Pôle" et "Service"

Lundi et mardi > j'aurai un peu moins de temps ...

Je reviens bientôt ...

ric

Rechercher des sujets similaires à "vba multipage formulaire"