Jgral
XLDnaute Nouveau
Bonjour,
J'en convient mon titre est long 🙂
Comme je le dis dans le titre je souhaite récupérer les valeurs des CheckBox présentent dans le UserForm5 (cliquer sur TRAVAUX CLIENT à gauche) afin de les écrire dans une zone de texte générée.
Je vous joins le fichier et reste à votre disposition c'est besoin de précision ... ou de plus de clarté.
J'en convient mon titre est long 🙂
Comme je le dis dans le titre je souhaite récupérer les valeurs des CheckBox présentent dans le UserForm5 (cliquer sur TRAVAUX CLIENT à gauche) afin de les écrire dans une zone de texte générée.
VB:
Sub zone_de_txt04()
L = ActiveCell.Column '<-- position horizontale
T = ActiveCell.Row '<-- position verticale'Insertion de la zone de texte
'Dimensions et position de la zone de texte
h = 50
W = 500 '<-- largeur
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, L, T, W, h).Select
'Selection.Name = "ztxt1" '<-- nom de la zone de texte
'Paramètres de la zone de texte
With Selection
.AutoSize = msoAutoSizeShapeToFitText
'.Name = "txt3" '<-- nom de la zone de texte
.Characters.Text = "TRAVAUX A REALISER PAR LE CLIENT :"
'On Error Resume Next
Dim i As Integer
For i = 1 To UserForm5.Controls.Count
If i < 2 Or (i > 4 And i <> 13 And i < 18) Then
.Characters.Text = .Characters.Text & Chr(10) & Me.Controls.Item("CheckBox" & i).Caption
ElseIf CheckBox1 = True And i = 2 Then
.Characters.Text = .Characters.Text & Me.Controls.Item("TextBox" & i).Value
ElseIf CheckBox2 = True And i = 3 Then
.Characters.Text = .Characters.Text & " , Largeur : " & Me.Controls.Item("TextBox" & i).Value
ElseIf CheckBox3 = True And i = 4 Then
.Characters.Text = .Characters.Text & " , Profondeur : " & Me.Controls.Item("TextBox" & i).Value
ElseIf i <> 13 And i < 18 Then
.Characters.Text = .Characters.Text & " , Autre : " & Me.Controls.Item("TextBox" & i).Text
End If
'If Left(i.Name, 8) = "CheckBox" Then
' If i.Value = True Then
' .Characters.Text = .Characters.Text & Chr(10) & i.Caption
' End If
'ElseIf i.Name = "TextBox1" And CheckBox1 = True Then
' .Characters.Text = .Characters.Text & i.Value
'ElseIf i.Name = "TextBox2" And CheckBox1 = True Then
' .Characters.Text = .Characters.Text & " , Largeur : " & i.Value
'ElseIf i.Name = "TextBox3" And CheckBox1 = True Then
' ' .Characters.Text = .Characters.Text & " , Profondeur : " & i.Value
'ElseIf i.Name = "TextBox14" And CheckBox14 = True Then
'End If
'Debug.Print (i.Name)
Next i
'.HorizontalAlignment = xlCenter '<-- texte centré horizontalement
.VerticalAlignment = xlCenter '<-- texte centré verticalement
.ShapeRange.Fill.ForeColor.SchemeColor = 45 '<-- couleur de fond
.ShapeRange.Line.Weight = 2.5 '<-- épaisseur du cadre
.ShapeRange.Line.ForeColor.SchemeColor = 0 '<-- couleur du cadre
.Top = Cells(T, L).Top + 10
.Left = Cells(T, L).Left + 10
End With
'Mise en forme du texte
With Selection.Font
.Name = "Calibri" '<-- police
.Size = 12 '<-- taille
.ColorIndex = 0 '<-- couleur
End With
'Mise en forme d'une partie du texte
With Selection.Characters(Start:=1, Length:=34).Font '<-- du 1ème au 34ème caractère
.Underline = xlUnderlineStyleSingle '<-- soulignement
.Bold = True '<-- mise en gras
.ColorIndex = 1 '<-- couleur
.Bold = True
End With
Range("A1").Activate '<-- quitter la sélection de la zone de texte
End Sub
Je vous joins le fichier et reste à votre disposition c'est besoin de précision ... ou de plus de clarté.