Cherche aide pour un "gros" projet Userform en VBA
Bonjour à toutes et tous,
Je me suis lancé dans un projet en VBA qui, je l'avoue, me dépasse totalement.
C'est un userform dynamique pour suivre des heures, par affaire, et avec des services différents pour chaque affaire.
il est complexe pour moi à écrire car il n'est pas fixe dans sa structure :
*le nombre d'affaire varie dans le temps (et j'en ai actuellement une quinzaine)
* pour chaque affaire, un responsable a différents services sous sa responsabilité. Et le formulaire devrait
s'adapter à cette contrainte dès lors que l'on a sélectionné le nom du responsable dans un Combobox.
Cela veut dire qu'un responsable devra saisir sur tous ses services pour chaque affaire.
* pour ne pas avoir un formulaire trop long, je prévois d'avoir un bouton à côté de chaque affaire sur lequel on
clique pour voir les services du responsable (et uniquement les siens tant qu'à faire) et faire la saisie.
on referme et on passe à l'affaire suivante.
A coté de cela, le formulaire récupère des données (sur le même fichier) par des recherchesV et on fait
aussi quelques calculs basiques dans le formulaire.
Bref, une usine à gaz !
J'ai réussi à écrire quelques parties mais le côté modulable du Userform me dépasse. J'ai lu des articles et vu des exemples sur les modules de classe mais je n'ai pas (encore) le niveau.
C'est pourquoi je suis à la recherche d'aide sur ce projet.
J'ai tenté de décrire le cas le plus précisément possible dans le fichier joint (voir page "Exemple" en 1er). Il reste quelques bouts de code VBA...
Quelqu'un serait prêt à m'aider ?
Merci d'avoir tout lu !
Alci
Rien de bien sorcier, mais là ce n'est plus de l'aide, c'est un projet avec des heures de développement et des dizaines d'échanges... La meilleure façon de procéder est de réaliser un cahier des charges précis et de filer ça à un développeur. Bon courage à toi..
je suis d'accord avec toi EngueEngue, ce n'est pas une simple astuce que je demande là !
Le truc c'est que je n'aurai pas le budget pour le faire..
Ayant quelques connaissances, je pensais que je pouvais m'occuper d'écrire les calculs et les rechercheV par exemple.
m'occuper du formatage.
J'ai trouvé un exemple de userform "dynamique" avec module de classe mais mon soucis, c'est qu'il n’apparaît rien dans la fenêtre de Création et je ne peux donc pas le formater comme il faudrait (voir fichier joint)
Par exemple, je ne vois pas comment rajouter des étiquettes de ligne d'un manière automatique ou des calculs
Sinon, ce serait déjà un bon point de départ
Merci
Tu as des evenements quand tu changes une combobox, combobox_change ou des boutons qui vont performer des actions.
Un userform dynamique est un userform qui crée des controles au fur et à mesure. Mais tu peux facilement contourner en tout créant au départ et en les mettant en visible = true quand tu en as besoin ...
Dans ce cas, disons que j'ai un False, cela laissera une ligne vide dans le formulaire ou verra-t-on tout remonter d'un cran ?
heu un exemple
Affaire 1
Service 1
Service 2
Service 3
Voilà, disons qu'un responsable n'ai que le service 3 à sa charge et que mon code fasse le lien qui va bien.
Lors de la saisie dans mon formulaire, je verrais cela ?
Affaire 1
Service 3
ou bien cela?
Affaire 1
Service 3
car l'un de mes soucis est de limiter la taille de mon formulaire à son strict minimum car ma grille maximale avoisine les 315 lignes !
(cad 21 services X 15 affaires)
Elle passe à 75 lignes max si j'arrive à rendre le format conditionnel.
Merci
Bah tu vas creer un formulaire avec 315 lignes et tu les remplis par le haut puis tu ajustes la taille de ton userform en fonction. 1 ligne = x cm
315 lignes = 315x
Désolé, je crois que je n'ai pas été très clair dans ma réponse.
Je voulais dire que :
Si j'ai 15 affaires et 21 services, et que je veux créer une structure fixe, je dois créer 315 lignes de saisie (21 services pour chacune des 15 affaires).
Ce sera douloureux mais ok, pourquoi pas.
J'ai 10 personnes qui vont devoir saisir.
une personne pourra avoir que 2 services à sa charge et donc voir au minimum : 2 X 15 = 30 lignes, cad que les siennes.
sinon, elle devra se balader dans les 315 lignes pour faire sa saisie.
Donc je cherche bien a restreindre l'étendue de la liste à son minimum car personne ne doit saisir sur les 21 services à la fois.
Au maximum, une personne aura 5 services pour chaque affaire, soit 105 lignes à saisir.
Tu me suis ?
Moi pas très con tu sais...
Alors tu crées 5*15 = 75 lignes
ET TU REMPLIS PAR LE HAUT DYNAMIQUEMENT lors du changement de ta personne...
Par exemple Pierre a le service 3 et le service 6
L'userform de pierre sera:
Affaire1
Service 3
Service 6
Affaire 2
Service 3
Service 6
Service6
Chaque ligne prend 0.5 cm
5*2 10 lignes.
L'userform tu ajusteras la hauteur de l'userform à 10*0.5 + 2cm(pour les marges = 7CM
Paul a 4 services : 1, 7, 9 et 21
Affaire1
Service 1
Service 7
Service 9
Service 21
Affaire 2
Service 1
Service 7
Service 9
Service 21
Service21
5*4 = 20
20*0.5 = 10cm + 2
Tu ajusteras ton USF à 12 cm de hauteur
Tu peux aussi bien rendre le nombre d'affaires variable et ajuster en fonction!
C'est une bonne idée effectivement.
Désolé, je n'étais pas sûr d'avoir été clair et c'est moi en fait qui ne t'avais pas compris
Moi un peu ignorant mais toi gentil aider moi
Merci