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

Ah non non, ce n'est pas ça qui coince, jte mets une prise d'écran de ce que j'obtiens en cliquant sur modifier.

Merci !

formulaire 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!

Rechercher des sujets similaires à "probleme checkbox"