Problème Checkbox
Bonjour!
Je ne comprend pas ce qui cloche, et donc je vous demande de l'aide!
En fait, les checkbox 1 et 2, entre autres, ne marchent pas! Elles ne stockent rien quand je les coche!
Aidez moi SVP
Option Explicit
Private Sub CheckBox1_Click()
If CheckBox1 Then
CheckBox1.Value = True
CheckBox2 = Not CheckBox1
CheckBox3 = Not CheckBox1
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2 Then
CheckBox2.Value = True
CheckBox1 = Not CheckBox2
CheckBox3 = Not CheckBox2
End If
End Sub
Private Sub CheckBox3_Click()
If CheckBox3 Then
CheckBox3.Value = True
CheckBox2 = Not CheckBox3
CheckBox1 = Not CheckBox3
End If
End Sub
Private Sub CheckBox4_Click()
If CheckBox4 Then
CheckBox4.Value = True
CheckBox5 = Not CheckBox4
End If
End Sub
Private Sub CheckBox5_Click()
If CheckBox5 Then
CheckBox5.Value = True
CheckBox4 = Not CheckBox5
End If
End Sub
Private Sub CheckBox6_Click()
If CheckBox6 Then
CheckBox6.Value = True
CheckBox7 = Not CheckBox6
End If
End Sub
Private Sub CheckBox7_Click()
If CheckBox7 Then
CheckBox7.Value = True
CheckBox6 = Not CheckBox7
End If
End Sub
Private Sub CheckBox8_Click()
If CheckBox8 Then
CheckBox8.Value = True
CheckBox9 = Not CheckBox8
CheckBox14 = Not CheckBox8
End If
End Sub
Private Sub CheckBox9_Click()
If CheckBox9 Then
CheckBox9.Value = True
CheckBox8 = Not CheckBox9
CheckBox14 = Not CheckBox9
End If
End Sub
Private Sub CheckBox14_Click()
If CheckBox14 Then
CheckBox14.Value = True
CheckBox8 = Not CheckBox14
CheckBox9 = Not CheckBox14
End If
End Sub
Private Sub CheckBox10_Click()
If CheckBox10 Then
CheckBox10.Value = True
CheckBox11 = Not CheckBox10
CheckBox12 = Not CheckBox10
CheckBox13 = Not CheckBox10
End If
End Sub
Private Sub CheckBox11_Click()
If CheckBox11 Then
CheckBox11.Value = True
CheckBox10 = Not CheckBox11
CheckBox12 = Not CheckBox11
CheckBox13 = Not CheckBox11
End If
End Sub
Private Sub CheckBox12_Click()
If CheckBox12 Then
CheckBox12.Value = True
CheckBox11 = Not CheckBox12
CheckBox10 = Not CheckBox12
CheckBox13 = Not CheckBox12
End If
End Sub
Private Sub CheckBox13_Click()
If CheckBox13 Then
CheckBox13.Value = True
CheckBox11 = Not CheckBox13
CheckBox12 = Not CheckBox13
CheckBox10 = Not CheckBox13
End If
End Sub
'Bouton Nouvelle demande
Private Sub CommandButton2_Click()
Worksheets("Formulaire").CheckBox1.Value = False
Worksheets("Formulaire").CheckBox2.Value = False
Worksheets("Formulaire").CheckBox3.Value = False
Worksheets("Formulaire").CheckBox4.Value = False
Worksheets("Formulaire").CheckBox5.Value = False
Worksheets("Formulaire").CheckBox6.Value = False
Worksheets("Formulaire").CheckBox7.Value = False
Worksheets("Formulaire").CheckBox8.Value = False
Worksheets("Formulaire").CheckBox9.Value = False
Worksheets("Formulaire").CheckBox10.Value = False
Worksheets("Formulaire").CheckBox11.Value = False
Worksheets("Formulaire").CheckBox12.Value = False
Worksheets("Formulaire").CheckBox13.Value = False
Worksheets("Formulaire").CheckBox14.Value = False
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
End Sub
'Bouton Chercher demande
Private Sub CommandButton3_Click()
Dim i As Integer
i = 2
Dim trouver As Boolean
trouver = False
Dim j As Integer
j = 0
While Worksheets("Dossiers DRG").Cells(i, 2) <> "" And trouver = False
If Worksheets("Dossiers DRG").Cells(i, 14) = TextBox9.Text Then
trouver = True
j = i
End If
If j <> 0 Then
Worksheets("Formulaire").TextBox1.Text = Worksheets("Dossiers DRG").Cells(i, 1)
Worksheets("Formulaire").TextBox2.Text = Worksheets("Dossiers DRG").Cells(i, 2)
Worksheets("Formulaire").TextBox3.Text = Worksheets("Dossiers DRG").Cells(i, 3)
Worksheets("Formulaire").TextBox4.Text = Worksheets("Dossiers DRG").Cells(i, 8)
Worksheets("Formulaire").TextBox5.Text = Worksheets("Dossiers DRG").Cells(i, 9)
Worksheets("Formulaire").TextBox6.Text = Worksheets("Dossiers DRG").Cells(i, 10)
Worksheets("Formulaire").TextBox7.Text = Worksheets("Dossiers DRG").Cells(i, 12)
Worksheets("Formulaire").TextBox8.Text = Worksheets("Dossiers DRG").Cells(i, 13)
Worksheets("Formulaire").TextBox9.Text = Worksheets("Dossiers DRG").Cells(i, 14)
If Worksheets("Dossiers DRG").Cells(i, 4) = "Dossier" Then
Worksheets("Formulaire").CheckBox1.Value = True
End If
If Worksheets("Dossiers DRG").Cells(i, 4) = "Note" Then
Worksheets("Formulaire").CheckBox2.Value = True
End If
If Worksheets("Dossiers DRG").Cells(i, 4) = "Lotus" Then
Worksheets("Formulaire").CheckBox3.Value = True
End If
If Worksheets("Dossiers DRG").Cells(i, 5) = "Avis" Then
Worksheets("Formulaire").CheckBox4.Value = True
End If
If Worksheets("Dossiers DRG").Cells(i, 5) = "Information" Then
Worksheets("Formulaire").CheckBox5.Value = True
End If
If Worksheets("Dossiers DRG").Cells(i, 6) = "DEG" Then
Worksheets("Formulaire").CheckBox6.Value = True
End If
If Worksheets("Dossiers DRG").Cells(i, 6) = "Marché" Then
Worksheets("Formulaire").CheckBox7.Value = True
End If
If Worksheets("Dossiers DRG").Cells(i, 7) = "DGE" Then
Worksheets("Formulaire").CheckBox8.Value = True
End If
If Worksheets("Dossiers DRG").Cells(i, 7) = "RESEAU ESE" Then
Worksheets("Formulaire").CheckBox9.Value = True
End If
If Worksheets("Dossiers DRG").Cells(i, 7) = "CDM OFFSHORE" Then
Worksheets("Formulaire").CheckBox14.Value = True
End If
If Worksheets("Dossiers DRG").Cells(i, 11) = "Avis Favorable" Then
Worksheets("Formulaire").CheckBox10.Value = True
End If
If Worksheets("Dossiers DRG").Cells(i, 11) = "Refus" Then
Worksheets("Formulaire").CheckBox11.Value = True
End If
If Worksheets("Dossiers DRG").Cells(i, 11) = "AF sous conditions" Then
Worksheets("Formulaire").CheckBox12.Value = True
End If
If Worksheets("Dossiers DRG").Cells(i, 11) = "AF partiel" Then
Worksheets("Formulaire").CheckBox13.Value = True
End If
End If
i = i + 1
Wend
End Sub
'Bouton Enregistrer demande
Private Sub CommandButton1_Click()
Dim i As Integer
i = 2
Dim trouver1 As Boolean
Dim k As Integer
Dim x As Integer
trouver1 = False
While Worksheets("Dossiers DRG").Cells(i, 14) <> "" And trouver1 = False
If Worksheets("Dossiers DRG").Cells(i, 14) = TextBox9.Text Then
trouver1 = True: k = i
x = MsgBox("Voulez-vous modifier l'enregistrement existant ?", 36, "Demande déjà enregistrée !")
If Not x = 6 Then Exit Sub
Else
i = i + 1
End If
Wend
If trouver1 = False Then
Enregistrement (i)
Else
Enregistrement (k)
End If
End Sub
Private Sub Enregistrement(x%)
Worksheets("Dossiers DRG").Cells(x, 1) = TextBox1.Text
Worksheets("Dossiers DRG").Cells(x, 2) = TextBox2.Text
Worksheets("Dossiers DRG").Cells(x, 3) = TextBox3.Text
Worksheets("Dossiers DRG").Cells(x, 8) = TextBox4.Text
Worksheets("Dossiers DRG").Cells(x, 9) = TextBox5.Text
Worksheets("Dossiers DRG").Cells(x, 10) = TextBox6.Text
Worksheets("Dossiers DRG").Cells(x, 12) = TextBox7.Text
Worksheets("Dossiers DRG").Cells(x, 13) = TextBox8.Text
Worksheets("Dossiers DRG").Cells(x, 14) = TextBox9.Text
If Worksheets("Formulaire").CheckBox1.Value = True Then
Worksheets("Dossiers DRG").Cells(x, 4) = "Dossier"
Else
Worksheets("Dossiers DRG").Cells(x, 4) = ""
End If
If Worksheets("Formulaire").CheckBox2.Value = True Then
Worksheets("Dossiers DRG").Cells(x, 4) = "Note"
Else
Worksheets("Dossiers DRG").Cells(x, 4) = ""
End If
If Worksheets("Formulaire").CheckBox3.Value = True Then
Worksheets("Dossiers DRG").Cells(x, 4) = "Lotus"
Else
Worksheets("Dossiers DRG").Cells(x, 4) = ""
End If
If Worksheets("Formulaire").CheckBox4.Value = True Then
Worksheets("Dossiers DRG").Cells(x, 5) = "Avis"
Else
Worksheets("Dossiers DRG").Cells(x, 5) = ""
End If
If Worksheets("Formulaire").CheckBox5.Value = True Then
Worksheets("Dossiers DRG").Cells(x, 5) = "Information"
Else
Worksheets("Dossiers DRG").Cells(x, 5) = ""
End If
If Worksheets("Formulaire").CheckBox6.Value = True Then
Worksheets("Dossiers DRG").Cells(x, 6) = "DEG"
Else
Worksheets("Dossiers DRG").Cells(x, 6) = ""
End If
If Worksheets("Formulaire").CheckBox7.Value = True Then
Worksheets("Dossiers DRG").Cells(x, 6) = "Marché"
Else
Worksheets("Dossiers DRG").Cells(x, 6) = ""
End If
If Worksheets("Formulaire").CheckBox8.Value = True Then
Worksheets("Dossiers DRG").Cells(x, 7) = "DGE"
Else
Worksheets("Dossiers DRG").Cells(x, 7) = ""
End If
If Worksheets("Formulaire").CheckBox9.Value = True Then
Worksheets("Dossiers DRG").Cells(x, 7) = "RESEAU ESE"
Else
Worksheets("Dossiers DRG").Cells(x, 7) = ""
End If
If Worksheets("Formulaire").CheckBox14.Value = True Then
Worksheets("Dossiers DRG").Cells(x, 7) = "CDM OFFSHORE"
Else
Worksheets("Dossiers DRG").Cells(x, 7) = ""
End If
If Worksheets("Formulaire").CheckBox10.Value = True Then
Worksheets("Dossiers DRG").Cells(x, 11) = "Avis Favorable"
Else
Worksheets("Dossiers DRG").Cells(x, 11) = ""
End If
If Worksheets("Formulaire").CheckBox11.Value = True Then
Worksheets("Dossiers DRG").Cells(x, 11) = "Refus"
Else
Worksheets("Dossiers DRG").Cells(x, 11) = ""
End If
If Worksheets("Formulaire").CheckBox12.Value = True Then
Worksheets("Dossiers DRG").Cells(x, 11) = "AF sous conditions"
Else
Worksheets("Dossiers DRG").Cells(x, 11) = ""
End If
If Worksheets("Formulaire").CheckBox13.Value = True Then
Worksheets("Dossiers DRG").Cells(x, 11) = "AF partiel"
Else
Worksheets("Dossiers DRG").Cells(x, 11) = ""
End If
End Sub
Bonjour Fatib, bonjour le forum,
Chez moi ça marche parfaitement !... Peut-être n'avais-tu pas activer les macros ?
Mais dans ton cas il serait préférable d'utiliser des OptionButtons plutôt que des Checkboxes. En effets les CheckBoxes permettent de cocher plusieurs cas alors que l'OptionButton n'en n'accepte qu'un seul, décochant automatiquement les autres sans avoir a coder pour cela. Il suffit juste de les grouper...
Bonjour ThauThème, merci pour la réponse!
Y'a que Lotus qui s'affiche pour moi quand je coche la checkbox 3, le reste ne marche pas
Je comprend pas
Sinon oui, tu as raison, fallait mettre des optionbutton !
Bonjour Fatib
je viens de regarder ton pb :
- tu utilises des cases à cocher alors que tu devrais utiliser les boutons option.buttons qui ne permettent qu'un choix
- tu ne récupères pas les valeurs issues de ces choix pour les passer dans ta récap
- il vaut mieux utiliser un formulaire vba dont la programmation sera plus simple
Si tu le souhaites je te fais une proposition en ce sens dans la journée
Cordialement
FINDRH
Bonjour FINDRH, merci pour ta réponse!
Oui oui, si tu as le temps, ce ne serait vraiment pas de refus! Merci bcp!
Et sinon, sur VBA, ce que j'ai écrit est vraiment tout ce que je sais faire, donc je ne crois pas pouvoir améliorer les choses de moi même
Bonjour
Ci joint le fruit de mes élucubrations.....
J'ai remplacé ton onglet formulaire par une formulaire VBA avec des" options boutons" et créé 2 macros pour la création et la modification de lignes
Il y a une rubrique en 1ère ligne dont j'ignore la raison; à toi de supprimer ce textbox .... ou à le raccorder a une cellule d'une ligne ...
J'ai automatisé le numéro de ligne et je l'ai figé , mais attention si tu en supprime une, ce numéro ne correspondra plus..... Si ce numéro doit absolument correspondre au n° de ligne il faudra le modifier dans la macro( supprimer les lignes copier collage spécial dans valider.
A tester
a ta dispo si corrections
Cordialement
FINDRH
C parfait FINDRH, merci merci, et encore merci!
Je me permets toutefois d'emettre une petite remarque
Ne serait-il pas possible de combiner les opérations, c à d avoir un seul formulaire avec 2 boutons, l'un pour ajouter, l'autre chercher.
Et dans le cas où je veux modifier un enregistrement, il suffira donc de cliquer sur valider.
Merci encore une fois, c très gentil!
Bonjour
Bonne question :
- sur quel critère trouves tu la ligne à modifier
on peut faire un seul bouton qui débouche sur un choix Modifier Créer:
- le choix Modifier passe par la saisie du critère de recherche, qui va identifier la ligne et récupérer ses valeurs pour alimenter le formulaire
- le choix Créer va directement au formulaire vide
Ai je bien compris ?
Cordialement
FINDRH
Rebonjour,
Je suis très reconnaissante pour ton aide, vraiment!
Merci bcp!
La ligne à modifier aura pour identifiant unique les chiffres 2,3,4 ... correspondant au numéro de la ligne.
Et pour créer, serait-il possible d'affecter automatiquement un identifiant, correspondant au dernier identifiant de la base +1.
J'abuse de ta gentillesse! Merci bcp!
Bonsoir
A priori ça marche...... mais à tester
Cordialement
FINDRH
Bonjour FINDRH,
Oui oui ça marche nickel, excepté pour le bouton modifier, qui me fait ressortir l'intitulé des colonnes peu importe le numéro de ligne que j'introduis
Et merci bcp!
Bonjour
si tu as 2 fois l'intitulé des colonnes en haut de ta page , c'est normal, j'ai fractionné la feuille pour que les entêtes soient toujours apparentes, la première ligne n'existe qu'une fois.
Pour supprimer cela==> Barre d'outils Affichage cliquer sur Fractionner et la barre de fractionnement disparaît
ou
si cela te convient cliquer sur Figer les volets et choisir l'option voulue
Tout cela est modifiable a volonté
Si ce n'est pas ça qui coince me refaire un message
Cordialement
FINDRH
Bonjour
ci joint tune version corrigée,.... j'avais oublié de supprimer une ligne dans mes modifs de boutons...
Cordialement
FINDRH
Merci bcp bcp bcp!
ça marche on ne peut plus bien!