Optimisation UserForm & VBA

FlorianECCO

XLDnaute Nouveau
Bonjour,

Je suis en train de mettre au point un ficher donnant la possibilité de géré la location de matériel avec un visuel type GANTT.

Toutefois, je ne suis pas un expert VBA & j'ai du mal a comprendre ce langage.

Je vous joint mon ficher et demande votre aide pour ces problèmes / optimisations :

1/ - J'ai une erreur 1004 dans UserForm1 -> Private Sub Choix_sous_famille_Change()

Worksheets("Menus").Range("B22:AZ22").Select => Se met en jaune car je ne suis pas sur la feuille "Menus"

2/ - J'aimerais finaliser l'UserForm1 :
A - Pouvoir ajouter un n° de dossier en cliquant sur le plus. Ouverture d'une boite de dialogue & Ajout du nouveau numéro de dossier dans la liste mais attention pas d'ajout dans le document avant validation.

B - Avoir le produit corespondant (Référence article & Nom) après sélection des 4 Listbox.

C - Pouvoir entrer une date de départ & de retour avec un choix dans calendrier quand on clique dans la zone.
=> & que les données se mettent dans en J & K comme c'est déjà le cas pour famille, ss-famille, hauteur & largeur. Mais dans le même format qu'actuellement.

D - Pour Quantité disponible parc, rien pour le moment, je pense pouvoir trouver.
- Pour les deux dernière aussi, je peut trouver.

E - J'aimerais aussi, via l'UserForm1, pouvoir (1)copier, (2)déplacer dans la feuille "Locations_terminées", puis (3)supprimer tout un n° de dossier & donc toutes ses lignes dans "Loc_en_cours - Retour_données". Dans cette ordre pour éviter les erreurs.

Lien Dropbox ficher excel : https://www.dropbox.com/s/lkqxewtlcefd156/Testloc.xlsm?dl=0

Merci de votre aide,
Florian M
 
Dernière édition:

Paf

XLDnaute Barbatruc
Re : Optimisation UserForm & VBA

Bonjour


Pour le 1)

apporter ces quelques modifications dans Private Sub Choix_sous_famille_Change()

Code:
....
    Set Trouve = Worksheets("Menus").Range("B22:AZ22").Find(What:=LeType, LookIn:=xlValues, _
                   LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                   MatchCase:=False, SearchFormat:=False)
    If Trouve Is Nothing Then Exit Sub
    '  Pour lister les hauteur
    
    Me.Choix_hauteur.Clear
    Col = Trouve.Column
....

D'une manière générale, éviter les .select qui ralentissent le traitement

A+
 

FlorianECCO

XLDnaute Nouveau
Re : Optimisation UserForm & VBA

Bonjour


Pour le 1)

apporter ces quelques modifications dans Private Sub Choix_sous_famille_Change()

Code:
....
    Set Trouve = Worksheets("Menus").Range("B22:AZ22").Find(What:=LeType, LookIn:=xlValues, _
                   LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                   MatchCase:=False, SearchFormat:=False)
    If Trouve Is Nothing Then Exit Sub
    '  Pour lister les hauteur
    
    Me.Choix_hauteur.Clear
    Col = Trouve.Column
....

D'une manière générale, éviter les .select qui ralentissent le traitement

A+

Bonjour, Paf

Merci de ton aide, maintenant mon ERREUR 1004 est résolue !

As-tu des idées pour le reste ?
 

Discussions similaires