Raccourcir une condition

C

Cédric

Guest
J'ai une userform avec une listBox (avec une textbox pour la remplir) et un bouton Ok pour lancer la procédure.

Le souci c'est que j'aimerais que quand on appui sur le bouton OK et que si la listbox est vide, un message apparait pour préciser de la remplir.

Je trouve le code ci dessous un peu lourd et peu visible pour ce que je veux faire :
Private Sub ButtonOK_Click()
If ListBoxAff.ListCount <> -1 then
.... Procédure de 300 lignes...
else
Msgbox "Remplir la listbox",,"Erreur"
End if
End sub

N'est il pas possible un codage type :
Private Sub ButtonOK_Click()
If ListBoxAff.ListCount = -1 then
Msgbox "Remplir la listbox",,"Erreur"
Exit Sub
End if
.... Procédure de 300 lignes...
End sub
 
G

galopin01

Guest
Bonjour,
Moi personnellement, je préfère la version 1.
De mon temps ...(on ne rigole pas SVP !) on apprenait qu'une bonne macro devait tenir dans un écran ! et un bon module ne devait pas excéder 3 ou 4 pages imprimées...
Aussi si je devais chercher de la clarté je chercherais plutôt dans les 300 autres lignes et mon Private Sub ressemblerait à ça :

Private Sub ButtonOK_Click()
If ListBoxAff.ListCount <> -1 then
MonTraitement
else
Msgbox "Remplir la listbox",,"Erreur"
End if
End sub

Avec une Sub MonTraitement dans un autre Module quelconque qui appellerait elle même quelques Sous-Sub.

A part ça la version 2 est quand même possible (à vérifier sur le terrain)
J'ai déjà vu (pas sous XP) des débranchements imprévus dans des structures de ce type aussi pour ma part je garde une petite préférence pour le Exit Sub en fin de boucle Si ...Else.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 333
Messages
2 087 374
Membres
103 528
dernier inscrit
maro