XL 2016 Affiner codage pour un meilleur fonctionnement.

pompaero

XLDnaute Occasionnel
Bonjour le forum,

Après avoir bien avancé sur un projet de planning que je tente de faire seul (un peu d'aide tout de même sur ce forum) et avant de le finaliser totalement, j'aimerai un coup pouce afin de vérifier, voir améliorer quelques procédures pour accélérer l'enregistrement.
Avant, il y a 2 ou 3 points à résoudre que je n'arrive pas à faire, Pourriez-vous m'aider la dessus ?
Dans Bouton "Valider" :
1) l'alerte de la Listbox1 non sélectionné ne fonctionne pas (alors que la listbox2 fonctionne).
2) la vérification de données dans la BDD ne fonctionne pas non plus (juste après le point 1 dans le code du bouton)
3) En gardant le même principe de fonctionnement du formulaire, j'aimerai, si possible, pourvoir enlever les Unload Me puis UF_Planif.Show après chaque enregistrement afin d'éviter la fermeture puis réouverture du formulaire à chaque manipulation.
Est-ce possible ?
Puis ensuite nous verrons pour la vitesse d’exécution des procédures.
Merci à vous.

Cdt
pompaero
 

Fichiers joints

Bebere

XLDnaute Barbatruc
bonjour à tous
Pompaero
testé en partie
tu pourrais intégrer le code du bouton supprimer dans valider
reste attentif je vais essayer d'améliorer le code(ex:module de classe label calendrier)
as tu pensé que pour une journée de garde tu ne peux pas avoir de doublon nom&prénom(nouvelle entrée)
 

Fichiers joints

pompaero

XLDnaute Occasionnel
Bonjour bebere, le forum,

Merci de ton aide, c'est sympa.
Tes proposition sont fort intéressantes et non je n'ai pas pensé au doublon Nom&Prenom !!! comme quoi, j'ai encore du chemin à faire pour penser à tout et pouvoir faire seul, :).
Je reste attentif o_O
Encore grand merci.
pompaero
 

pompaero

XLDnaute Occasionnel
Bonjour bebere,
J'ai testé un peu ton fichier, bien vu la macro d'initialisation des objets, je n'y avais pas pensé...
Par contre il y a bug au click sur la Listbox3 mais j'imagine, après lecture des codes que tu as anticipé sur la futur mise en place.
A bientôt
pompaero
 

Bebere

XLDnaute Barbatruc
Bonjour Pompaero,le forum
voilà où en est le projet
tu me diras si cela te convient
prochaine étape ajout d'optionbutton(ajouter,modifier, supprimer)
bien sur avec ton accord
 

Fichiers joints

pompaero

XLDnaute Occasionnel
Bonjour bebere, le forum,
Désolé pour la réponse tardive, Ok je regarde cela tranquillement et reviens vers toi.
pompaero
 

pompaero

XLDnaute Occasionnel
Bonjour bebere, le forum,

Bon, je viens de regarder le projet, cela parait très intéressant malgrès que je ne comprenne pas tout correctement. Par ex :
j'ai voulu entrer des nouvelles gardes au 21 mai (journée vide), cela a affiché les msgbox "déjà présent" ou listbox1 vide puis listbox3 garde les noms de la date précédente.
C'est peut-être moi qui n'a pas compris le fonctionnement. Je continu de regarder.
Merci
pompaero
 

pompaero

XLDnaute Occasionnel
Re,

Bon, je viens de passer un moment à tester ton fichier.
Déjà, il y a du mieux dans la vitesse d’exécution. Concernant les MsgBox "Plus d'agent pour cette date" et L'affichage des agents planifiés puis restant dispo (je trouve cela génial), ce qui évite les doublons, j'imagine.
Quelques incohérences de temps en temps, comme le msgbox "plus d'agent........" qui s'affiche alors qu'il y a encore du personnel.
De mon côté, j'ai tenté quelques petites modif pour voir si ça pouvait améliorer quelque chose (pas sur du tout, de moi !!)
Mes modifs : (en ajout dans )
Bt_Supprimer --> IniObjet et Cb_Supprimer.Enabled=False
Bt_Valider --> Listbox1et2.enabled=False
Macro IniObjet --> Cb_Valider.caption="Valider" et C1=Format date
Je n'ai pas plus touché que ça afin d'éviter le démantèlement de tes codes, mais dans l'ensemble le fonctionnement reste proche de l'initial. Ce qui serait bien, c'est les objets auxquels nous avons besoin soient accessible et les autres bloqué pour éviter les erreurs.
Pour les optionbutton (ajout, modif, supprimer), perso, je préfères des boutons pour ces fonctionnalités, MAIS... tente tout de même avec les optionbutton, peut-être que le fonctionnement me fera changer d'avis.
Je remets le fichier V3 avec mes 2 ou 3 modifs.
Merci, Cordialement
pompaero
 

Fichiers joints

Bebere

XLDnaute Barbatruc
Bonsoir
Pompaero
il faut d'abord contrôler bdd ,il y a des doublons (certainement de précédents essais)
il y a aussi des vides
ensuite le calendrier a au moins une erreur(si tu passes de mai à avril,jours d' avril sont incohérents)
suivant ta rmq et éviter erreurs,c'est ce que tu auras avec les optionbutton ,apparaitra ce que tu as besoin suivant le choix
fait un tri sur dates et nom&prénom ce sera plus lisible.
Contrôle aussi si colonne date contient bien des dates(mettre le format de la colonne A sur standard)
 

pompaero

XLDnaute Occasionnel
Re,
Effectivement je n'avais pas l'erreur du calendrier..
Pour la bdd, j'ai remis la col A en format standard, supprimé les vides et recommencé une nouvelle bdd, mais je suis perdu sur le fonctionnement, Grrrrrrrrrr, donc je sort un moment mes yeux de ces codes de manière manière à me reconcentrer.
Aller, fonce pour les OptionButton.
modifs sur V3 en pj
Cdt
pompaero
 

Fichiers joints

pompaero

XLDnaute Occasionnel
Bonjour bebere,

J'ai repris la lecture du fonctionnement du fichier, d'après tes explications, c'est ok pour mettre des OptionButton pour (ajout, modifier, supprimer), si cela affiche les items du choix optionbutton.
Cdt
pompaero
 

Bebere

XLDnaute Barbatruc
bonjour
Pompaero
pour modifier que veux tu changer dans la ligne sélectionnée un ou plusieurs éléments
pour supprimer une ou plusieurs lignes ou avoir le choix
 

pompaero

XLDnaute Occasionnel
Bonjour bebere,

Pour modifier, si possible plusieurs éléments (de toute manière il y a que le Agent et sigle.
Pour supprimer, avoir le choix parai bien.
Merci
 

Bebere

XLDnaute Barbatruc
bonjour
Pompaero
fait des essais et tu me diras ce qu'il faut corriger/améliorer
pour modifier , listbox1 est concernée pour remettre dans bdd
tout se fait par code,plus de formule en colonne D
si tu ne comprend pas quelque chose tu demandes
 

Fichiers joints

pompaero

XLDnaute Occasionnel
Bonjour bebere,
Beau travail... si j'ai bien compris le fonctionnement, il faut d'abord sélectionner un choix (OptB), choisir une date, effectuer les manipulations nécessaires, puis Valider.
Après quelques essais, quelques bugs dont un sur le click du ListBox1 sur
VB:
Me.TextBox1 = Me.ListBox1.List(Me.ListBox1.ListIndex, 1)
que j'ai mis en suspens avec un ( ' ) et liste du listbox1 que ne se mets pas toujours jour.
Du coup, j'ai tenté quelques petites modif pour essayer (si cela n'est pas correct tu peux les changer)
1) texte optionbutton en couleur et gras
2) Initialize optionbutton1 = True
3) dans bouton valider, Optionbutton1 = True
Je trouve que optionbutton1 = true à l'ouverture et à chaque manip, cela fait mieux fonctionner tes codes.
4) Label1 et 2 en alerte avant validation se mettent bien en rouge mais ne repasse pas en noir au click des listbox
5) après une modif (par exemple) puis en repassant sur ajouter, le listbox est en selectsimple au lieu du selectMulti
J'ai l'impression que les ComboBox "C1", ComboBox1 et TextBox1 semblent inutile, non ? ou alors je ne vois pas à quoi cela peut servir.
Si tu veux, aussi, tu peux supprimer les codes inutiles que je n'est pas osez faire car ne sachant pas ce que tu veux garder, cela devrait éclaircir la lecture, non ?
Je joins mon fichier V5
Cordialement
pompaero
 

Fichiers joints

pompaero

XLDnaute Occasionnel
Bonjour bebere,
Je reviens sur le soucis du calendrier qui s'affiche en décalé, j'essai de trouver pour remettre bien.
J'ai jeté un œil dans les codes et pas trop sur de moi, mais, me suis rendu compte dans l'Initialize que les variables on bougés comme :
Dim i As Long était en Integer avant et ce code en plus (a priori)
VB:
    For Each Ctrl In Me.Frame1.Controls
        If TypeOf Ctrl Is MSForms.Label And Left(Ctrl.Name, 1) = "J" Then
            ReDim Preserve MesLabels(0 To i)
            Set MesLabels(i).MesLabels = Ctrl: Ctrl.Tag = i + 1
            i = i + 1
        End If
    Next Ctrl
que j'ai mis en suspens avec des ( ' ) remet bien les dates du calendrier dans le bonne ordre mais pouvons plus cliquer sur les Labels des dates comme ci ils étaient en Enabled = false.
Puis en Option Explicit, un autre Dim i& est en place également.
Je n'est regardé que ça pour le moment mais rien modifié.

pompaero
 

pompaero

XLDnaute Occasionnel
Bonjour bebere,
Merci, j'essai de faire de mon mieux, à mon petit niveau de codeur Lol ...
Ok je regarde tranquillement et reviens te dire.
Merci, bon week-end
pompaero
 

Discussions similaires


Haut Bas