Bonjour à tous,

Je créé régulièrement des fonctions pour les taches répétitives dans mes programmes.
Je m'en suis sorti jusqu'à vouloir créer cette fonction.
ci dessous le code inséré dans le programme que je veux mettre dans une fonction car je l'utilise 15 à 20 fois à la suite.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
'SAISIE 6CU PR6
    If Sheets("tab_calc_coll").Range("D34").Value = 0 Then
        With calculcoll.result_6cu_pr6
            .Caption = "PR6 : 0 mètre"
            .ForeColor = &HFFFFFF
            .BackColor = &HFF&
        End With
    Else
        With calculcoll.result_6cu_pr6
            .Caption = "PR6 : " & Sheets("tab_calc_coll").Range("D34").Value & " mètres"
            .ForeColor = &H0&
            .BackColor = &HC0FFC0
        End With
    End If
pour cet exemple les variables sont :
2ieme ligne "d34" et 10ième ligne "d34" appelé lign
3ieme ligne ".result_6cu_pr6" et 9iéme ligne "result_6cu_pr6" appelé cellule
4iéme ligne "pr6" et 10ième ligne "pr6" variable appelé pr

et cela donnerai ceci pour moi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function saisicab (lign,cellule,pr)
 
    If Sheets("tab_calc_coll").Range(lign).Value = 0 Then
        With calculcoll.(cellule)
            .Caption = pr & " : 0 mètre"
            .ForeColor = &HFFFFFF
            .BackColor = &HFF&
        End With
    Else
        With calculcoll.(cellule)
            .Caption = pr & " : " & Sheets("tab_calc_coll").Range(lign).Value & " mètres"
            .ForeColor = &H0&
            .BackColor = &HC0FFC0
        End With
    End If
end function
Cette fonction ne renvoie pas de résultat mais elle se chargera de la mise en forme de plusieurs LABEL dans un userform.

Le problème que vous trouverez de suite est la variable cellule qui enregistre le nom du label. Effectivement vba ne reconnaît pas ceci !!! J'ai essayé plusieurs solutions sans y arriver.
j'ai essayé même de mettre en variable l'appel de l'userform jusqu'à la propriété sans plus de succés.
Je reconnais que je maîtrise très mal les variable de type objet appelant des fonctions spéciales!!!!:
Je pense que s'il y a solution, elle doit être dans ce type de variable !!!!

Pouvez vous m'aider ?

JE VOUS EN REMERCIE PAR AVANCE