Récupérer texte d'une cellule et appeler une textbox du même nom

Bonjour,

J'expose ce que j'aimerai faire :

Je récupérer dans une cellule un texte qui peut être : "LUN", "MAR", "MER", "JEU", "VEN", "SAM", "DIM".

Et en fonction du texte je veux modifier le caption du textbox correspondant. (Mes textbox s'appelle exactement pareil : LUN, MAR, ...)

Pour l'instant j'ulise la fonction suivante mais elle ne me conviens pas car une fois le textbox correspondant modifier, je veux modifier le suivant et ainsi de suite et ça demanderai un truc redondant et pas très propre pour chaque possibilité.

Sub Userform_Initialize()

    Select Case Left(UCase(texte_cellule, "dddd")), 3)
        Case "LUN"
            LUN.Caption = Day(Now())
                MAR.Caption = Day(Now()) + 1
        Case "MAR"
            MAR.Caption = Day(Now())
                MER.Caption = Day(Now()) + 1
        Case "MER"
            MER.Caption = Day(Now())
                JEU.Caption = Day(Now()) + 1
        Case "JEU"
            JEU.Caption = Day(Now())
                VEN.Caption = Day(Now()) + 1
        Case "VEN"
            VEN.Caption = Day(Now())
                SAM.Caption = Day(Now()) + 1
        Case "SAM"
            SAM.Caption = Day(Now())
                DIM.Caption = Day(Now()) + 1
        Case "DIM"
            DIM.Caption = Day(Now())
        Case Else
            MsgBox "Une erreur s'est produite"
            Exit Sub
    End Select

End Sub

Mon idée de base aurait été de pouvoir récupérer le nom du jour et de lui rajouter .Caption

Sub Userform_Initialize()
    Dim id As String
    
    'Aujourd'hui
    id = Left(UCase(Format(Now(), "dddd")), 3) 
    id.Caption = Day(Now())

    'Demain
    id = Left(UCase(Format(Now() + 1, "dddd")), 3) 
    id.Caption = Day(Now() + 1)

End Sub

Sauf que ça ce n'est pas possible car il essai de modifier le caption de id

Bonjour Arnaud

Bonjour à tous,

Un .Caption sur un TextBox ???? > sûr ?

ric

Ric oui désolé un label

Voici un fichier exemple

Bonjour,

Je ne suis pas certain de comprendre réellement ce que tu veux faire ...
Voici cependant un petit essai.

J'ai renommé tes labels (LUN, MAR, etc ...) en jour1, jour2, jour3, etc ...

Sub Userform_Initialize()

For i = 1 To Controls.Count
    Me.Controls("jour" & i).Caption = ""
On Error Resume Next
If i = Weekday(Now(), 2) Then Me.Controls("jour" & i).Caption = Day(Now())
    If i = Weekday(Now(), 2) + 1 Then Me.Controls("jour" & i).Caption = Day(Now() + 1)
Next i
End Sub

Voilà, je ne sais cependant pas si ça répond à la question.

Merci c'est exactement ce dont j'avais besoin.

Me.Controls("jour" & i).Caption

C'est nickel je me sert de ça ducoup j'ai juste modifier "jour" & i en récupérant automatiquement les 3 première lettre du jour pour appeler le label du même nom et c'est nickel.

Ben écoute, ravi d'avoir aidé, même si je n'ai pas vraiment compris ce que j'ai fait différemment de toi. Peut-être juste le me.controls, pour qu'il sache qu'on parle des labels ?

Rechercher des sujets similaires à "recuperer texte appeler textbox meme nom"