Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Label.caption ne fonctionne pas

scrib

XLDnaute Nouveau
Bonjour à tout le forum,

je veux afficher les infos d'une cellule dans un LabelBox à l'ouverture d'un Userform, voici le code:

VB:
Option Excplicit

Private Sub Userform2_Activate()
    Userform2.Label4.Caption = Sheets("Table_BDD").[U1].Value
End Sub

Le plus surprenant c'est que si je mets ce même code dans un "Private Sub Button_Click()" ça fonctionne parfaitement bien.
Quelqu'un peut-il me dire ce qui ne va pas avec mon code?

Merci pour vos réponses à venir.
Scrib
 
Solution
Bonjour Phil69970,
Le fichier est lourd et l'expurger de toute données sensibles aurait été trop long. J'ai résolu mon problème en mettant :
VB:
userform2.label4.caption = sheets("Table_BDD").[U1].value
à l'ouverture du workbook.
Merci.

scrib

XLDnaute Nouveau
Bonjour Phil69970,
Merci pour cette réponse rapide, Je viens d'essayé, même résultat. Le caption reste désespéramment vide.
Le pire c'est que je ne comprends pas pourquoi ça fonction avec une action sur un bouton et pas à l'ouverture d'un Userform.
 

scrib

XLDnaute Nouveau
Quand je dis que ça ne fonctionne pas, c'est que le LabelBox reste vide

VB:
Option Explicit
 Dim Adresse As String
 Dim Nom, Prenom As String

Private Sub BT_Adresse_Click()
    If Me.TB_Nom = Empty Or Me.TB_Prenom = Empty Then
        MsgBox ("Il manque des informations!"), vbExclamation
        Exit Sub
    End If
    Nom = Me.TB_Nom.Value
    Prenom = Me.TB_Prenom.Value
    Adresse = Prenom + "." & Nom + "@safrangroup.com"
    Feuil7.Unprotect "$sagem01"
    Userform2.Label4.Caption = Adresse
    Sheets("Table_BDD").[U1].Value = Adresse
    Feuil7.Protect "$sagem01"
    End Sub



Private Sub Userform_QueryClose(Cancel As Integer, closeMode As Integer)
        Cancel = closeMode = 0

End Sub

Private Sub UserForm2_Initialize()
    Feuil7.Unprotect "$sagem01"
    Dim Mat As Integer
    Dim Ws2 As Worksheet
    Set Ws2 = Sheets("Table_BDD")
        With Me.CBB_Commande
            For Mat = 1 To Ws2.Range("U" & Rows.Count).End(xlUp).Row
                .AddItem Ws2.Range("U" & Mat)
            Next
        End With
    Me.Userform2.Label4.Caption = Sheets("Table_BDD").[U1].Value

End Sub



Private Sub CB_OK_Click()
    Dim Erreur As String
    Dim Un_Mail, Corps_Mail As Variant
    If CBB_Commande = Empty Then
        Erreur = MsgBox("Il manque le nom de la fourniture à commander!", vbExclamation, "Erreur de commande")
        Exit Sub
    End If
    If TB_Quantite = Empty Then
    Erreur = MsgBox("Il manque la quantité à commander!", vbExclamation, "Erreur de quantité")
        Exit Sub
    End If
    Corps_Mail = "Bonjour Emilie," & Chr(10) & "Pour la salle Covid19, peux-tu stp, commander:" & Chr(10) & "- " _
    & Me.TB_Quantite & " " & Me.CBB_Commande & Chr(10) & Chr(10) & "Merci"
        Set Un_Mail = CreateObject("outlook.application")
        With Un_Mail.CreateItem(0)
            .Subject = "Demande d'approvisionnement"
            .To = Sheets("Table_BDD").[U1]
            .Body = Corps_Mail
            .Display
        End With

End Sub

Private Sub CB_KO_Click()
    Unload Userform2
    UserForm1.Show
    
End Sub
 

scrib

XLDnaute Nouveau
Phil69970, Non car j'ai 2 Userform nommés Userform1 et Userform2.
Bonjour sousou, Si dans sheets("Table_BDD".[U1], j'ai mon adresse mail. Comme je l'ai dis précédemment, si je créé un bouton et que je colle le même code dans un bouton, il fonctionne bien et la TextBox s'actualise.
 

Phil69970

XLDnaute Barbatruc
Re

@scrib as tu regarder le fichier du post #12 ?

Dedans il y a 2 usforms qui affichent chacun un label avec le texte d'une cellule différente et modifiable selon tes gouts.....
Sert toi de mon exemple et si tu n'y arrives pas un fichier sans donner sensible pour voir ou est ton erreur....

@Phil69970
 

scrib

XLDnaute Nouveau
Bonjour Phil69970,
Le fichier est lourd et l'expurger de toute données sensibles aurait été trop long. J'ai résolu mon problème en mettant :
VB:
userform2.label4.caption = sheets("Table_BDD").[U1].value
à l'ouverture du workbook.
Merci.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…