Code Userform Long et lien entre userform

Bonjour,

Je commence par vous avertir que suis totalement autodidacte sur ce sujet.

J'ai créer une base de donnée en vba qui fonctionne dans l'ensemble.

Je mettrais en piéce joint mon fichier à savoir que j'ai vidé les données pour la confidentialités

Cependant j'ai différent soucis dessus et demande du cahier des charges que je n'arrive pas à améliorer je pense qu'il faut utiliser les modules mais je n'ai jamais fait j'utilise seulement les code des userform.

Sur mon code Userform Choix 3 :

Le cahier des charges me demande d'avoir un calendrier pour selectionner la date pour pas la rentrée à la main.

Sur cette même userform si je fait une recher à la semaine je ne dépasserait pas les 1min d'attente pour le mois je peut dépasser les une minute de traitement mais le plus long est l'année qui dure une 10aine de minutes. Je pense qu'il faut optimiser le code mais je ne sais pas comment faire.

troisième problème et je m'arreterais là pour l'instant quand je clique sur les bouton Acces Code j'aimerais appeler l'userform choix2 et préremplir les information des listes déroulante et lancer le programme automatiquement mais j'arrive pas à récuperer les information d'une userform à l'autre.

Je vous remercie de l'aide que vous pourrez m'apporter et je continue à m'améliorer tous les jours grâce à tous vos conseils merci.

30base-rebut.zip (387.33 Ko)

Bonjour et

1) Pour la date, dans ton userform tu peux ajouter un controle de la boite a outil (clic droit)

image

Supprime ta commandebox Date_Choix ajoute ce controle et nomme le Date_Choix

image

2) Ton fichier est sans données donc les recherches sont instantanées, tu peux expliquer ce que chaque recherche doit faire, et où chercher les données / suivant quel criteres ?

3) Si tu as la valeur 50 dans "Choix_3.CDef_TOP_1_PS"
et que dans la procedure du "Acces Defaut" tu as :

Private Sub Acc_Code_1PS_Click()
Choix_2.Show
Choix_2.Descri_CDef.Value = Choix_3.CDef_TOP_1_PS.Value
End Sub
image

Alors tu auras :

image

Apres il faut juste savoir ce que tu souhaites passer d'un Userform a un autre.

Bonjour Je vous remercie de votre réponse, je vais pouvoir avancer grace à votre réponse sur le point n°3.
Pour le Point N°1 je n'ai pas ce complément j'ai essayer de voir ce que j'avais de plus ressemblant et j'ai ajouter ce controle là :

image

Cependant celà ne fonctionne pas celà ne m'affiche rien et si je veut le lancer ou le supprimer celà me met que des code erreur :

Quand je l'ajoute rien:

image

Quand je lance le code :

image

et

image

Je pense que c'est un problème de complément mais je sais pas trop comment m'y prendre dans ce cas là.

Je vous remercie de votre aide et je vous fait une deuxième réponse pour le point 2

Bonjour,

Exact, pour le bouton je ne souvenais plus que c'était un ajout
Tu devrais pouvoir récupérer ICI le "Microsoft Date and Time Picker Control 6.0" (MSCOMCT2.OCX)
[Voir Edit]

Tu fera attention pour le point 3, (mauvais copier coller de ma part), il faut que ton Userform soit en Modal (le 1 derriere Choix2.Show) donc soit :

Private Sub Acc_Code_1PS_Click()
Choix_2.Show 1
Choix_2.Descri_CDef.Value = Choix_3.CDef_TOP_1_PS.Value
End Sub

Soit charge les données avant d'afficher le Userform 2

Private Sub Acc_Code_1PS_Click()
Choix_2.Descri_CDef.Value = Choix_3.CDef_TOP_1_PS.Value
Choix_2.Show
End Sub

Explication du modal ICI


Edit :
pendant que je cherchais le lien pour MSCOMCT2.OCX, je suis tombé sur un message de galopin01 que tu devrais lire Lien pour autre calendrier.
Même si personnellement je n'ai pas eu de soucis avec le DTPicker.

Merci j'ai réussi a créer le code que je voulais pour le point n°3 je suis très contente du résultats :)

Concernant le point 2 Je récupère les données de cout code défaut quantité de rebut sur différentes feuilles Excel en analysant chaque date si elle correspond soit a la semaine soit au mois soit a l'année que je souhaite mais ayant quand même pas mal de donnée sur une année dans je doit passer en revus chaque donnée pour l'année le programme est très long peut être qu'il y a du code que je pourrais mettre en arrière plan dans un module ce qui allègerais le code de l'userform. Sur ce point là je sais pas vraiment comment aborder le problème et je peut bien sur pas fournir de donnée ..

En gros je vient comparer des donnée d'un feuille avec la date choisi pour voir si sa correspond après je récupéré sur les ligne valide des donnée que j'insere dans d'autres feuilles et je les compare à d'autres feuille de donnée pour ensuite faire la somme des cout /Quantité rebut / Quantité lancée par code défaut par centre de charges par semaine ou par mois ou par année. Je sais pas si c'est claire désolé.

Pour le calendrier je vous remercie de votre aide je vais regarder vos proposition. Merci :)

Les problème sur le calendrier et les liens entre Userform sont résolu je vous remercie grandement je vais mettre ce problème en résolu continuer a améliorer le code et si j'arrive pas à avoir un code plus rapide je referais un post. Merci :)

Bonjour,

J'ai passé 2 jours sur ton VBA pour rendre compte qu'il ne passe même pas au compilateur :

Dans Choix_3 tu as une boucle If qui n'a pas de End If ! il s'agit de cette portion de code

If Sheets("Info").Cells(8, 3) = "Vrai" Then
   CDef_TOP_3_PM = Sheets("Info").Cells(LigneTOP3M, 6)
   C_TOP_3_PM = Sheets("Info").Cells(8, 2)
   Q_TOP_3_PM = Sheets("Code_Mois").Cells(LigneTOP3M, 5)
Else
'*******************************
CDef_TOP_3_PM = "N/A"
C_TOP_3_PM = 0
Q_TOP_3_PM = 0
DLOFtopM = Sheets("Code_Mois").Range("F" & Rows.Count).End(xlUp).Row
x = DLOFtopM
For EcrisQteM = 1 To DLOFtopM

Bon j'ai mis des '*************** à l'emplacement le plus probable mais comme ton truc est incompréhensible...

En fait ce End If peut être n'importe ou après...

Bon à part ça tu es prié de fournir un classeur avec suffisamment de données pour que tout fonctionne. 5 lignes dans chaque feuille sont en général bien suffisant pour les bases de données,

Seul les noms d'individu leur N° de téléphone, de Carte bleue, et leur adresse email sont confidentiels donc c'est pas difficile de remplacer tous les 5 par des 0 et toutes les voyelles par un S et la confidentialité est respecté.

Sinon moi je rend mon tablier !

Nota : Voir aussi mon commentaire en MP.

A+

Rechercher des sujets similaires à "code userform long lien entre"