userform label caption variable

DomiGeo

XLDnaute Nouveau
Bonsoir,
Je galère depuis plusieurs jours avec mon 1er userform.
Dans un classeur, dans Feuil1, de C4 à C44, je crée une liste de participants potentiels. Je mets un « 1 » en face des noms, en D4 ou D9……D44, pour signifier que le participant sera présent. Et j’envoie une macro qui ouvre le userform (USF1.show) destiné à collecter des info complémentaires.
Cet userform « USF1 » est composé de
1 label (label6) dont la propriété Caption sera le nom du participant
4 textbox destinés à recueillir diverses informations numériques (âge, distance, puissance,…)
1 bouton de validation qui envoie les valeurs des 4 textbox dans la Feuil1, puis les vide pour charger le nom de participant présent suivant.

Voici mon code, USF1 n'affiche que le premier nom des participants et ne se ferme jamais !!!
Merci de votre aide

Private Sub UserForm_Initialize()
Dim lIg As Integer
For lIg = 4 To 44
If Sheets("Feuil1").Range("D" & lIg).Value = 1 Then 'si 1 = participe à la réunion
USF1.Label6.Caption = Sheets("Feuil1").Range("c" & lIg) '("c" & lIg)= nom de la personne
USF1.Show
End If
Next
Unload USF1
End Sub

Private Sub CB1_Click()
'recopie des infos saisies de l' usf dans la feuille1
Dim liGn As Integer
liGn = Sheets("Feuil1").Range("m45").End(xlUp).Row + 1
Range("m" & liGn) = USF1.Label6.Caption
Range("n" & liGn) = USF1.TB1.Value
Range("o" & liGn) = USF1.TB2.Value
Range("p" & liGn) = USF1.TB3.Value
Range("q" & liGn) = USF1.TB4.Value
Unload USF1
End Sub
 

Pièces jointes

  • test réunion usf.xls
    57.5 KB · Affichages: 68
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : userform label caption variable

Bonsoir à tous

DomiGeo [highlight][Bienvenue sur le forum][/code]
Plutôt que de décrire ce que contient ton fichier Excel, joins le fichier Excel dans ta discussion.
(En cliquant sur Modifier le message -> puis Gérer les pièces jointes)
(ou plutôt une version allégée et anonymisée de celui-ci)
On gagnera du temps et accessoirement une base sur laquelle faire nos tests de macro avant de te les proposer ici. ;)


EDITION: Houps!:p:eek: le temps de rédiger mon message, tu éditais pour joindre ce que je t’enjoignais de joindre : une pièce jointe ;)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : userform label caption variable

Re


Oui et je viens d'éditer mon précédent message ;)

EDITION: Pour commencer, on pourrait ajouter un controle ScrollBar et modifier ton Initialize comme ci-dessous
Code:
Private Sub ScrollBar1_Change()
ScrollBar1.Min = 4
ScrollBar1.Max = 8
Label6.Caption = Sheets("Feuil1").Range("c" & ScrollBar1.Value)
End Sub

VB:
Private Sub UserForm_Initialize()
Dim lIg As Integer
For lIg = 4 To 8
    If Sheets("Feuil1").Range("D" & lIg).Value = 1 Then
               Me.Label6.Caption = Sheets("Feuil1").Range("c" & lIg)
            'USF1.Show
    End If
Next
'Unload USF1
End Sub
 
Dernière édition:

DomiGeo

XLDnaute Nouveau
Re : userform label caption variable

ReRE
Merci pour tes réponses rapides.
Je prends deux vitamines C et un tube d'aspirine et j'essaye de comprendre ta proposition et la savourer à sa juste mesure!!
Je débute avec les formulaires et tu me colles du scrolbarr:confused:, je vais encore passer une nuit blanche !
Ceci étant, je lève mon verre (blanc de savoie) à ta santé
 

Staple1600

XLDnaute Barbatruc
Re : userform label caption variable

Re

DomiGeo
La touche F1 (qui affiche l'aide VBA) peut éviter les nuits blanches.
associé à une sélection du mot ScrollBar dans ce message plus clic-droit et choix de Recherche G..gle pour ScrollBar évitera les risque d'accident de surdosage en vitamine C ;)

Posologie: Appuyez sur la touche F1 autant que nécessaire.

Ordonnance renouvelable tous les six mois.
 

DomiGeo

XLDnaute Nouveau
Re : userform label caption variable

Ordonnance suivie, scrolbarr installé et (presque) assimilé! Touche F1 déjà archi usée.
Peux tu m'indiquer comment ne voir apparaitre que les noms des participants déclarés présents (càd avec un 1 en D4 D8)
Je viens d'essayer avec un for+if, mais ça y fait pas..[j'y retourne, quant on aime...]
 

DomiGeo

XLDnaute Nouveau
Re : userform label caption variable

salut à toutes et tous
Je reste sur ma question. Comment déclencher le formulaire pour chaque "présent" en indiquant son nom dans le caption?
ceci me permettra d'éviter de lancer 4 inputbox successives!!
(ps j'ai recherché avec Go...gle avant de poster ici )
D'avance merci
 

laetitia90

XLDnaute Barbatruc
Re : userform label caption variable

bonjour DomiGeo ,Jean marie :)
le peu que je pense comprendre???

Code:
Private Sub UserForm_Initialize()
Dim i As Byte
For i = 4 To 8
 If Range("D" & i).Value = 1 Then _
  Label6 = Label6 & Chr(10) & Range("c" & i)
 Next
End Sub

en regardant de plus pres une combobox ou listbox serait plus adapté pour traiter
 
Dernière édition:

laetitia90

XLDnaute Barbatruc
Re : userform label caption variable

re :)
en partant sur une listbox a la place de label

cela donnerait cela

en complement le bouton valider on pourrait faire cela avec des conditions

Code:
With ListBox1
  If .ListIndex < 0 Then MsgBox "pas de select..": Exit Sub
  l = Feuil1.Cells(Rows.Count, 13).End(3)(2).Row
  Feuil1.Cells(l, i + 13) = ListBox1.Value
  For i = 1 To 4: Feuil1.Cells(l, i + 13) = Me("TB" & i): Me("TB" & i) = "":  Next i
   .RemoveItem (.ListIndex)
  End With
 

Pièces jointes

  • test réunion usf (1).xls
    58.5 KB · Affichages: 74
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 288
Messages
2 086 837
Membres
103 399
dernier inscrit
Tassiou