XL 2016 Affiner codage pour un meilleur fonctionnement.

pompaero

XLDnaute Impliqué
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
 

Pièces jointes

  • Test Planning.xlsm
    465 KB · Affichages: 29

ChTi160

XLDnaute Barbatruc
Bonjour pompaero
Bonjour le Fil (Bebere), le Forum
merci pour les réponses!
autres questions
a quoi correspondent les données de la ListBox1 .
Dans cette liste n'y a t'il que des dates passées ,
ou des disponibilités prévues ?
le but est de changer quoi dans la sélection , la Date Ok , puis quoi d'autre (les Compteurs) , comment , par rapport à quoi ?
Merci
Bonne journée
jean marie
 

pompaero

XLDnaute Impliqué
Bonjour, Chti160,
Bebere, le forum,

La Listbox1 sert à visionner rapidement les personnes enregistrées par année, Oui il devrait y avoir que des dates passées.
En modification, on ne devrait pouvoir changer que les compteurs. (hr et cp)

A l'ajout, comme Bébere à fait dans le post précédent, cela a l'air de convenir.

Le principe est d'enregistrer des agents en début de compteur annuel (normalement 1 fois suffi pour les CDI), mais il est possible d'avoir des CDD, donc plusieurs ouverture de compteur heure sur l'année pour un agent.
Je pense (d'après ma logique, Lol) que les compteurs heures et CP doivent être modifiable en cas d'erreur.
Si non, on supprime la ligne qui ne va pas puis recommence un enregistrement correct.
Merci
pompaero
 

pompaero

XLDnaute Impliqué
Bonjour le fil, le forum

Désolé pour le silence, un peu occupé en se moment. Je vois le bout de mon projet, ouf.
J'ai tenté d'adapter le code de doublon sur les modifications, a priori cela un l'air d'etre sur la bonne voie, cela signale un doublon mais de temps en temps sans avoir de double les msgbox doublon s'affiche. Est ce possible que cela vienne d'une mauvaise réinitialisation du formulaire ?
Merci
pompaero
 

Pièces jointes

  • TestCompteurV4-Chti160.xlsm
    49.5 KB · Affichages: 3

Bebere

XLDnaute Barbatruc
bonjour
Pompaero mis un exemple pour valider dans bouton valider
mis le reste en commentaire
est tu sûr que excel est en ordre de ton côté(ex:formaté D et E en nombre sans virgule et dans le code c'est du texte)

tente une réparation
 

Pièces jointes

  • TestCompteurV5-Chti160 (1).xlsm
    48.5 KB · Affichages: 4

pompaero

XLDnaute Impliqué
Bonjour Bebere,

J'essai depuis cette apres midi de poursuivre ta proposition du bouton valider mais en vain. J'ai tenté plusieurs solution , j'avoue être un peu perdu.
Merci

pompaero
 

Pièces jointes

  • TestCompteurV6.xlsm
    46.3 KB · Affichages: 4

ChTi160

XLDnaute Barbatruc
Bonsoir pompaero
Bonsoir le Fil ,le Forum
Ce que j'ai mis et semble fonctionner!
VB:
Sub ConTroleLigne()
    Dim i As Long
    testDoublon = False
    For i = 1 To UBound(tbl)
        If tbl(i, 1) Like ligne(1, 1) And _
            CDate(tbl(i, 2)) = CDate(ligne(1, 2)) And _
             CDbl(tbl(i, 4)) = CDbl(ligne(1, 3)) And _
               CInt(tbl(i, 5)) = CInt(ligne(1, 4)) Then
                           testDoublon = True: Exit For
        End If
    Next
End Sub
jean marie
 

pompaero

XLDnaute Impliqué
Bonsoir Chti160
Bonsoir le Fil ,le Forum
Oui cela fonctionne, c'est juste la partie modification que je n'arrive pas à adapter par rapport à ce que Bebere à fait à son dernier post.
Je rame complétement sur ce coup la.

pompaero
 

ChTi160

XLDnaute Barbatruc
Bonjour pompaero
Bonjour le Fil ,le Forum
En attendant Bebere Lol
j'ai modifié quelques trucs ,pas encore traité le Transfert via Bouton Modifier.
j'ai ajouté un Label qui pourra être Masqué , il contient la Ligne Cible .
Soit la Nouvelle Ligne "Ajouter" soit la Ligne sélectionnée pour "Modification"!
jean marie
 

Pièces jointes

  • TestCompteur-Chti160-1.xlsm
    51.4 KB · Affichages: 3

pompaero

XLDnaute Impliqué
Merci Chti160
L'objectif est bien la, après avoir testé plusieurs fois, j'ai amené quelques petites choses (MsgBox un peu plus complet au lieu de "Déjà dans base", et L = L + 1 pour ajout qui ne fonctionne bien évidemment pas car listbox2 est en MultiSelect)
Petit hic après test, lors d'une modification d'une ligne, si l'on veux modifier de nouveau cela ne fonctionne pas mais affiche le MsgBox (agent existe déjà)
Merci encore.
 

Pièces jointes

  • TestCompteurV8-Chti160.xlsm
    47.8 KB · Affichages: 3

Discussions similaires

Réponses
4
Affichages
420
Réponses
46
Affichages
3 K
Réponses
26
Affichages
1 K
Réponses
26
Affichages
2 K

Statistiques des forums

Discussions
315 123
Messages
2 116 460
Membres
112 756
dernier inscrit
amar13