[VBA/Excel] Label dynamique

Gilou -  
 Gilou -
Bonjour,

J'ai crée un projet VBA-Excel qui avance bien. J'ai un problème pour afficher un texte particulier dans le Label (Label3) d'une userform (Userform3). Mon intention étant de faire afficher le contenu des cellules A3 et B3 dans le label.

J'ai ceci comme code

Private Sub UserForm3_Initialize()
Sheets("Feuil2").Activate
Cells("A3:B3").Select
UserForm3.Label3.Caption = Cells(A, 3).Value & " = " & Cells(B, 3).Value
End Sub


En l'état, ça ne fait rien. "Label3" s'affiche comme si de rien n'était.
Si je remplace la 1ère ligne ainsi

Private Sub UserForm_Initialize()

j'ai une erreur 1004 "Erreur définie par l'application ou par l'objet". Et le débogueur surligne la ligne qui appelle l'Userform3 (qui contient la label3).

Quelqu'un voit-il le pb ?

Merci
Gilou

3 réponses

  1. Paf
     
    Bonjour,

    - l'evenement Initialize de la UserForm3 s'appelle : UserForm_Initialize

    si tu définis UserForm3_Initialize c'est une sub personnelle qui n'est jamais appellée

    -Le problème dans ton code de la UserForm_Initialize(), est effectivement celui signalé par CCM81.

    Je te propose le code suivant dans la userform3:

    Private Sub UserForm_Initialize()
    Dim plage As String
      plage = Worksheets("Feuil2").Range("A3").Value & " = " & Worksheets("Feuil2").Range("B3").Value
      Me.Label3.Caption = plage
    End Sub


    Bonne soirée
    1
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonsoir

    Cells(A, 3).Value : je crois que le pb est là puisque A ne me semble pas contenir une valeur, il y peut etre confusion entre les styles

    - soit Cells(lig,col) en style L1C1, soit ici Cells(3,1).Value je pense
    - soit Range(cel) en style A1, soit ici Range("A3").Value

    - le cells("A3:B3").select est inutile
    - je mettrai un with sheets("Feuil2") .... end with à la place de sheets('Feuil2").activate , ce qui donnerait ensuite
    .Cells(3,1).Value ou .Range("A3").Value

    bonne suite
    0