XL 2019 caption de label (VBA)

LeForain

XLDnaute Junior
Bonjour !

Je sollicite votre aide car j'ai créé un formulaire en VBA et dans ce formulaire, j'aimerais que le nom de ma commande apparaisse.
J'aimerais que le "caption" de la "label" que je viens de créer prenne le contenu de la cellule de ma feuille dans laquelle est le nom.
Comment dois-je faire pour appeler le contenu de cette cellule dans ma label VBA ?

Merci de l'aide que vous pourrez m'apporter.
 

LeForain

XLDnaute Junior
Bonjour JM27,

Merci beaucoup pour votre réponse.
Je viens d'essayer:

Cela fonctionne mais uniquement si je clique sur la zone vide au niveau de la label dans le formulaire. Une fois que j'ai cliqué, le nom s'affiche. Mais si je ne clique pas dans e champ, rien ne s'affiche dans un premier temps.

Y'a t-il une solution pour que ça apparaisse dès l'ouverture du formulaire ?
 

LeForain

XLDnaute Junior
Bonjour soan !

Merci pour cette réponse :D

J'ai essayé mais cela ne fonctionne pas. Il n'y a plus rien du tout.

Peut-être que le mot "click" dans la commande y est pour quelque chose ?

Private Sub Label_nom_commande_Click()
Label_nom_commande.Caption = Sheets("RESULTATS").Range("A1")
End Sub
 

JM27

XLDnaute Barbatruc
bonjour
Comme le dit Soan
ll faut une procédure initialyse, qui n'a rien a voir avec la procédure click.
VB:
Private Sub UserForm_Initialize()
Me.label1.caption=sheets("Feuil1").range("A1")
end sub

en fournissant un petit fichier cela aurait été plus clair et rapide
 

soan

XLDnaute Barbatruc
Inactif
@LeForain

dans ton post #3, tu as écrit : « dès l'ouverture du formulaire »

si tu utilises la sub Label_nom_commande_Click(), ça n'est exécuté que si tu cliques sur ton label du nom de la commande ! tu dois utiliser cette sub UserForm_Initialize() :
VB:
Private Sub UserForm_Initialize()
  Label_nom_commande.Caption = [RESULTATS!A1]
End Sub

soan​
 

LeForain

XLDnaute Junior
C'est la partie UserForm que je ne comprends pas.
Quand je clique sur la zone de texte dans mon formulaire (Label_nom_commande),
Private Sub Label_nom_commande_Click() se met par défaut quoi que je fasse.

Désolé, c'est sans doute une évidence mais cela fait seulement deux jours que j'essaie de travailler sur VBA et j'ai beaucoup de mal ^^

Je vous joins le fichier.
C'est le texte de la cellule A1 de la feuille RESULTATS que je voudrais qui apparaisse dans Label_nom_commande
 

Pièces jointes

  • Version simple2.xlsm
    40.4 KB · Affichages: 4

soan

XLDnaute Barbatruc
Inactif
@LeForain

ton fichier en retour ; j'ai fait des modifs de ton formulaire "UFFormulaire", mais je n'ai pas pu tester car j'ai eu ce message d'erreur :​

Image 1.jpg


c'est dû à ça :

Image 2.jpg




code VBA de UFFormulaire (29 lignes) :

VB:
Dim lNumL As Long
Dim oControl As Control

Private Sub CommandValider_Click()
    Worksheets("BASE").Activate
    lNumL = Range("NumEnregistr").CurrentRegion.Rows.Count + Range("NumEnregistr").Row
    Cells(lNumL, Range("Nom").Column) = Me.ComboBox_posteDG.Text
    Cells(lNumL, Range("Nom").Column) = Me.ComboBox_postejour.Text
    Cells(lNumL, Range("Nom").Column) = Me.ComboBox_posteDM.Text
    Cells(lNumL, Range("Date").Column) = Me.MonthView1
    Cells(lNumL, Range("Commande").Column) = Me.ComboBox_commande.Text
    Cells(lNumL, Range("Element").Column) = Me.ComboBox_element.Text
 
    'Sélection de couture ou coupe ou opérateur ou conditionnement
    For Each oControl In Me.GrPostedetravail.Controls
        If VBA.Left(VBA.LCase(oControl.Name), 3) = "opb" Then
            If oControl.Value Then
                Cells(lNumL, Range("PosteDeTravail").Column) = oControl.Caption
            End If
        End If
    Next
   
    Cells(lNumL, Range("NumEnregistr").Column) = Application.WorksheetFunction.Max(Range(Range("NumEnregistr").Offset(1, 0), Cells(lNumL - 1, Range("NumEnregistr").Column)))
   
End Sub

Private Sub UserForm_Initialize()
  Label_nom_commande.Caption = [RESULTATS!A1]
End Sub

tu avais plusieurs subs vides, et donc inutiles !

soan
 

Pièces jointes

  • Version simple2.xlsm
    35.7 KB · Affichages: 2

LeForain

XLDnaute Junior
Il est vrai que j'ai encore beaucoup de subs vides. J'essaie de les compléter au fur et à mesure et j'ai encore beaucoup de choses qui ne fonctionnement pas dans mon formulaire.
C'est principalement le cas pour le calendrier que j'ai inséré.
J'ai essayé beaucoup de codes que j'ai pu trouver sur internet, notamment sur ce forum et des vidéos.

Mais le code que j'ai actuellement pour mon calendrier ne fonctionne visiblement pas : la date que je sélectionne ne se retrouve pas sur ma feuille "BASE" sur laquelle j'aimerais collecter les éléments remplis dans le formulaire et validés.
 

Discussions similaires

Réponses
3
Affichages
294