Insérer un Label variable dans un UserForm

Bonjour à tous.

Je crée actuellement un outil Excel en VBA dans lequel j'utilise des UserForm.

Sur l'un des Userform, je souhaite insérer un Label qui sera variable, en fonction du contenu d'une cellule de mon fichier Excel.

Quelqu'un peut il m'expliquer comment je peux paramétrer ou coder mon label pour que celui ci soit variable ?

Merci par avance.

Onafe57

Bonjour Onafe57,

Voici un exemple,

dit moi si ça convient ?

re,

Voici un autre exemple,

Super ! Ça marche !

Merci beaucoup pour ces lignes de code.

Onafe57

Une petite question complémentaire ...

J'ai vu qu'on pouvait gérer l'alignement horizontal du texte d'un label, mais peut on également gérer l'alignement vertical ?

Dans mes vieux souvenirs, je dirais que oui, mais impossible de me souvenir comment ...

Merci de vos réponses.

Onafe57

Bonjour

modification de la combobox

Private Sub UserForm_Initialize()
    With Sheets("Feuil1")
        ComboBox1.List = .Range("A1:B" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
    End With
End Sub

Private Sub ComboBox1_Change()
    Label1.Caption = ComboBox1.Column(1)
End Sub

A+

Maurice

Merci pour cette astuce pour la combo box archer.

Je prend en note pour plus tard car j'aurais certainement besoin de combobox dans la suite de mon développement.

Cordialement,

Onafe57

re,

J'ai vu qu'on pouvait gérer l'alignement horizontal du texte d'un label, mais peut on également gérer l'alignement vertical ?

non, la seule autre possibilité est

Me.Label1.AutoSize = True

à mettre dans la macro UserForm_Initialize()

Bonjour

j'aime pas jour avec les label mes bon

A voir

Private Sub UserForm_Initialize()
    With Sheets("Feuil1")
        ComboBox1.List = .Range("A1:B" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
    End With
End Sub

Private Sub ComboBox1_Change()
    With Label1
        .Caption = ComboBox1.Column(1)
        .Top = 5
        .Height = 70
        .Width = 10
    End With
End Sub

A+

Maurice

Merci pour vos réponses.

J'ai un problème qui s'ajoute.

Dans mon outil, dans l'ordre chronologique, j'ai :

  • Un userform pour demander à l'utilisateur de saisir la date de début de la période sur laquelle il va travailler.
  • Lorsqu'il valide, la date de début est stocker dans une cellule de mon fichier excel, et j'affiche un userform qui récapitule la date de début et la date de fin dans deux Label différents dont je modifie le contenu lorsque ce userform s'initialise.
  • Soit l'utilisateur valide les dates et passe à la suite --> Là, pas de souci !
  • Soit l'utilisateur se rend compte d'une erreur de date et je propose de corriger en revenant au userform d'avant (Hide UF actuelle et Show UF de saisie date).
  • L'utilisateur saisi alors une autre date ... Mais quand je valide cette nouvelle date --> Les données d emon classeur ont bien changé, mais mes Label dans le userform de confirmation ne se mettent pas à jour !!! Ils gardent la date saisie précédemment !

Je pense que ça vient du fait que mes Label sont mis à jour lorsque j'initialise le userform ... Sauf que lorsque je "Show" ce userform pour la deuxième fois, il n'est pas initialisé, donc les Label ne sont pas mis à jour.

Pouvez vous m'aider à trouver le bon déclencheur pour que les Label se mettent à jour dès que j'affiche à nouveau le userform ?

Merci d'avance.

Onafe57

Bonjour,

essaye d' unload le forumlaire au lieu de cacher ce qui re-initialisera le formulaire .

Unload Userform
Userform.Show
Rechercher des sujets similaires à "inserer label variable userform"