Problème Checkbox Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
f
fatib
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 30 mars 2016
Version d'Excel : 2007

Message par fatib » 31 mars 2016, 10:18

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

Suivi Dossiers DRG - Copie (2).xlsm
(126.21 Kio) Téléchargé 17 fois
Avatar du membre
ThauThème
Passionné d'Excel
Passionné d'Excel
Messages : 4'047
Appréciations reçues : 212
Inscrit le : 19 octobre 2014
Version d'Excel : 2010 FR

Message par ThauThème » 31 mars 2016, 10:29

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...
À plus,

ThauTheme


Je suis Charlie
VBA m'éclate, les formules m'ennuient ! Je n'y peux rien c'est comme ça...
f
fatib
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 30 mars 2016
Version d'Excel : 2007

Message par fatib » 31 mars 2016, 10:37

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 !
F
FINDRH
Membre impliqué
Membre impliqué
Messages : 1'402
Appréciations reçues : 15
Inscrit le : 12 février 2010
Version d'Excel : 2016

Message par FINDRH » 31 mars 2016, 11:03

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
f
fatib
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 30 mars 2016
Version d'Excel : 2007

Message par fatib » 31 mars 2016, 11:21

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 :(
F
FINDRH
Membre impliqué
Membre impliqué
Messages : 1'402
Appréciations reçues : 15
Inscrit le : 12 février 2010
Version d'Excel : 2016

Message par FINDRH » 31 mars 2016, 14:57

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
Suivi Dossiers DRG v01.xlsm
(77.32 Kio) Téléchargé 21 fois
f
fatib
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 30 mars 2016
Version d'Excel : 2007

Message par fatib » 31 mars 2016, 15:10

C parfait FINDRH, merci merci, et encore merci!

Je me permets toutefois d'emettre une petite remarque :oops: :oops: :oops:
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!
F
FINDRH
Membre impliqué
Membre impliqué
Messages : 1'402
Appréciations reçues : 15
Inscrit le : 12 février 2010
Version d'Excel : 2016

Message par FINDRH » 31 mars 2016, 15:52

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
f
fatib
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 30 mars 2016
Version d'Excel : 2007

Message par fatib » 31 mars 2016, 15:59

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!
F
FINDRH
Membre impliqué
Membre impliqué
Messages : 1'402
Appréciations reçues : 15
Inscrit le : 12 février 2010
Version d'Excel : 2016

Message par FINDRH » 31 mars 2016, 19:00

Bonsoir

A priori ça marche...... mais à tester

Cordialement

FINDRH
Suivi Dossiers DRG v02.xlsm
(77.91 Kio) Téléchargé 19 fois
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message