Conseils pratiques longue procédure

Résolu/Fermé
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 - 18 oct. 2018 à 09:54
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 - 19 oct. 2018 à 20:49
Bonjour,

Je suis face à une réflexion dont j'aimerai débattre avec vous qui êtes beaucoup beaucoup plus experts et compétant que moi en VBA :
j'ai créé un fichier qui tourne quasiment exclusivement en VBA il fonctionne, je suis encore en débogage mais tout va bien
j'ai écrit des procédures (très) longue +/- 1200 lignes parce que je n'ai pas reussi à rendre des noms de labels variables par exemple :
lbl1FaceA.Caption
lbl2FaceA.Caption
lbl3FaceA.Caption
lbl4FaceA.Caption

'j'aurai aimé boucler dessus dans cet esprit
Dim tmpNumLblA As String
Dim i As Byte 'je ne dépasse jamais 4
For i = 1 To 4
    tmpNumLblA = "lbl" & i & "FaceA"
    If tmpNumLblA.Caption <> "" Then
        toto
    Else
        tata
    End If
Next i

Ca m'aurai déjà divisé le nombre de ligne par 4 ou presque mais je n'ai pas reussi (j'avoue que je n'ai pas cherché longtemps nonplus)
Tout ça pour dire que la relecture de la procédure ou sa modification est assez fastidieuse

Ma reflexion : y a t'il une règle d'usage (comme utiliser i pour compter dans une boucle) au niveau de la longueur des procédure? est il judicieux de séparer en plusieurs "sous procédures" à appeler avec
Call


Merci à ceux qui auront eu le courage de me lire et merci d'avance pour vos conseils (et pardon si la question est bête)



1 réponse

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
Modifié le 18 oct. 2018 à 10:30
Bonjour,

Je pense que pour boucler, il faut boucler sur les objets Label (alors que ton tmpNumLblA est une chaîne de caractères) : For Each...

Inspire-toi de https://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/vba-excel-remplir-sujet_61103_1.htm

A+
0
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
19 oct. 2018 à 15:48
Bonjour zoul, effectivement je pense que c'est de ce côté que je dois creuser pour boucler sur mes labels
sinon en ce qui concerne le fait de scinder une procédure en plusieurs? conseillé ou pas du tout?
0
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
19 oct. 2018 à 20:49
Bonjour Fabien,

Si tu exécutes toujours une même routine dans un fichier, pas besoin. Mais si tu as plusieurs macros dans ton fichier et que tu utilises des bouts de code pour plusieurs usages, mieux vaut séparer en plusieurs procédures.

A+
0