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é.