G
G'Claire
Guest
Salut a toutes et tous
Voila, dans un fichier j'ai un UserForm avec 10 checkbox et quand je selectionne l'un d'eux si la celulle qui lui correspond est vide m'ouvre une InputBox pour remplir cette cellule.
Voici le code d'un des CheckBox (Merci a DidierMDF, pour ces précisions pour la variable) :
Private Sub cbxMalNourrisse_Click()
If cbxMalNourrisse.Value = False Then Exit Sub
Dim TheInputBoxString As String
With Sheets("CoordonnéesBebe")
If .Range("C28") = "" Then
CaracteresMaximum:
TheInputBoxString = InputBox("Veuillez définir l'abréviation pour " _
& "ce type d'absence !!!" & vbCrLf _
& "Avec un maximum de 12 caractères.", _
"DEFINTION D'ABREVIATION")
If Len(TheInputBoxString) > 12 Then
MsgBox "On vous a demandé 12 Caractères au maximum" _
: GoTo CaracteresMaximum
Else
.Range("C28").Value = TheInputBoxString
txtHeuresEffectuees.Text = .Range("C28")
End If
Else
txtHeuresEffectuees.Text = .Range("C28")
End If
End With
MajouR
End Sub
Mon souci, pour éviter de grossir mon code j'aurais voulu savoir s'il éxisté un moyen d'utiliser une InputBox pour tous les checKbox tout en envoyant les données au bon endroit et dans l'intitule de l'inputBox le caption du ChekBox sélectionné:
Exemple :
CheckBox 1 donnée dans feuil 1 A1
Caption du chekBox : Donnée 1
CheckBox 2 donnée dans feuil 1 A2
Caption du chekBox : Donnée 3
CheckBox 3 donnée dans feuil 1 A
Caption du chekBox : Donnée 3
Donc si je clique sur le CheckBox 1 et que la celulle A1 de la feuil 1 est vide
cela ouvre l'InputBox avec un message du type :
InputBox("Veuillez définir l'abréviation pour " & "Ici le caption du CheckBox choisi" & vbCrlf & "Avec un maximum de 12 caractères.", _
"DEFINTION D'ABREVIATION")
J'espère être claire et je vous remerci d'avance, G'Claire
Voila, dans un fichier j'ai un UserForm avec 10 checkbox et quand je selectionne l'un d'eux si la celulle qui lui correspond est vide m'ouvre une InputBox pour remplir cette cellule.
Voici le code d'un des CheckBox (Merci a DidierMDF, pour ces précisions pour la variable) :
Private Sub cbxMalNourrisse_Click()
If cbxMalNourrisse.Value = False Then Exit Sub
Dim TheInputBoxString As String
With Sheets("CoordonnéesBebe")
If .Range("C28") = "" Then
CaracteresMaximum:
TheInputBoxString = InputBox("Veuillez définir l'abréviation pour " _
& "ce type d'absence !!!" & vbCrLf _
& "Avec un maximum de 12 caractères.", _
"DEFINTION D'ABREVIATION")
If Len(TheInputBoxString) > 12 Then
MsgBox "On vous a demandé 12 Caractères au maximum" _
: GoTo CaracteresMaximum
Else
.Range("C28").Value = TheInputBoxString
txtHeuresEffectuees.Text = .Range("C28")
End If
Else
txtHeuresEffectuees.Text = .Range("C28")
End If
End With
MajouR
End Sub
Mon souci, pour éviter de grossir mon code j'aurais voulu savoir s'il éxisté un moyen d'utiliser une InputBox pour tous les checKbox tout en envoyant les données au bon endroit et dans l'intitule de l'inputBox le caption du ChekBox sélectionné:
Exemple :
CheckBox 1 donnée dans feuil 1 A1
Caption du chekBox : Donnée 1
CheckBox 2 donnée dans feuil 1 A2
Caption du chekBox : Donnée 3
CheckBox 3 donnée dans feuil 1 A
Caption du chekBox : Donnée 3
Donc si je clique sur le CheckBox 1 et que la celulle A1 de la feuil 1 est vide
cela ouvre l'InputBox avec un message du type :
InputBox("Veuillez définir l'abréviation pour " & "Ici le caption du CheckBox choisi" & vbCrlf & "Avec un maximum de 12 caractères.", _
"DEFINTION D'ABREVIATION")
J'espère être claire et je vous remerci d'avance, G'Claire