Ecrire suivant l'état de différente CheckBox

Chtitefanny

XLDnaute Junior
Bonjour à tous,

J'ai un petit problème. (PJ en rapport avec)
Lorsque l'on click sur le bouton "Valeur", UserForm1 s'ouvre.
Dans cette UserForm, il y a 3 CheckBoxs, "Pomme", "Poire" et "Abricot".
Et suivant les CheckBoxs de cochées, qu'ils soient inscrit.

Ex :
"Pomme" de cochée -> écrire "Pomme" dans "D2"
"Poire" & "Abricot" de cochées -> écrire "Pomme" et "Abricot" dans "D2"

Et j'aimerai rajouter une lecture des données.
Lorsque l'on click sur le bouton "Lecture", UserForm1 s'ouvre avec les CheckBoxs de cochées si "Pomme", "Poire" et/ou "Abricot" soient contenu dans la cellule "D2".

Merci de vos proposition.
Fanny
 

Pièces jointes

  • Essai.1.2.xls
    29 KB · Affichages: 38
  • Essai.1.2.xls
    29 KB · Affichages: 42
  • Essai.1.2.xls
    29 KB · Affichages: 41

gmb

XLDnaute Junior
Re : Ecrire suivant l'état de différente CheckBox

Bonjour

C’est curieux que tu ne puisses pas ouvrir le fichier…
Voilà donc les macros :
Celle associée au bouton « Valeurs » de la feuille de calcul :
Code:
Sub Valeurs()
    UserForm1.Show  
End Sub
Celle associée au bouton « Lecture » de la feuille de calcul :
Code:
Sub Lecture()
    UserForm1.Show
End Sub

Et les macro de l’userform :
Code:
Dim Flag

Private Sub CheckBox1_Click()
    If Flag = "" Then Call Ecrire
End Sub

Private Sub CheckBox2_Click()
    If Flag = "" Then Call Ecrire
End Sub

Private Sub CheckBox3_Click()
    If Flag = "" Then Call Ecrire
End Sub

Private Sub CommandButton1_Click()
    Unload Me
End Sub

Private Sub UserForm_Click()
    Call Ecrire
End Sub

Sub Ecrire()
    If CheckBox1 = True Then Texte1 = "Pomme "
    If CheckBox2 = True Then Texte2 = "Poire "
    If CheckBox3 = True Then Texte3 = "Abricot"
    Sheets("Feuil1").Range("D2").Value = Texte1 & Texte2 & Texte3
End Sub

Private Sub userform_initialize()
    Flag = 0
    v = Sheets("Feuil1").Range("D2").Value
    For n = 1 To Len(v) - 5
        If Mid(v, n, 5) = "Pomme" Then
            CheckBox1 = True
        ElseIf Mid(v, n, 5) = "Poire" Then
            CheckBox2 = True
         ElseIf Mid(v, n, 7) = "Abricot" Then
            CheckBox3 = True
        End If
    Next n
    Flag = ""
End Sub
Bye !
 

Chtitefanny

XLDnaute Junior
Re : Ecrire suivant l'état de différente CheckBox

Re,

Et j'ai un autre soucis. C'est de pouvoir lire les données suivant la ligne sur laquelle la combobox est mise.
(Voir fichier joint)

Si il y aurai une solution.

Cdlt,
Fanny
 

Pièces jointes

  • Essai.1.2.xls
    41.5 KB · Affichages: 34
  • Essai.1.2.xls
    41.5 KB · Affichages: 33
  • Essai.1.2.xls
    41.5 KB · Affichages: 33

laetitia90

XLDnaute Barbatruc
Re : Ecrire suivant l'état de différente CheckBox

bonjour tous

plus rien a voir avec ton premier post??
tu pourrais faire cela
 

Pièces jointes

  • Essai.1.2.xls
    46.5 KB · Affichages: 36
  • Essai.1.2.xls
    46.5 KB · Affichages: 42
  • Essai.1.2.xls
    46.5 KB · Affichages: 40

laetitia90

XLDnaute Barbatruc
Re : Ecrire suivant l'état de différente CheckBox

re tous
code user pas d'autre code dans module seulement call user

Private Sub UserForm_Initialize()
ComboBox1.List = Feuil1.Range("a3:b" & Feuil1.Cells(Rows.Count, 1).End(3).Row).Value
End Sub
Private Sub ComboBox1_Click()
x = ComboBox1.List(ComboBox1.ListIndex, 1)
CheckBox1 = IIf(x Like "*Pomme*", 1, 0)
CheckBox2 = IIf(x Like "*Poire*", 1, 0)
CheckBox3 = IIf(x Like "*Abricot*", 1, 0)
End Sub
Private Sub CommandButton1_Click()
If ComboBox1.ListIndex > -1 Then
If CheckBox1 Then T1 = "Pomme "
If CheckBox2 Then T2 = "Poire "
If CheckBox3 Then T3 = "Abricot "
Feuil1.Cells(ComboBox1.ListIndex + 3, 2) = T1 & T2 & T3
End If
End Sub
 

Discussions similaires

Réponses
9
Affichages
171
Réponses
21
Affichages
1 K

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise