XL 2019 problème avec code vba pour checkbox

Yann71

XLDnaute Occasionnel
Bonjour la com,
J' arrive avec un nouveau problème. Malgré mes recherches en vain, je n'ai su trouver la solution ici et ailleurs, je fait dons appelle à vos connaissance.
Je vais essayer de m'expliquer le plus clairement possible. J'ai un formulaire de saisie qui alimente une BDD sous forme de tableau. Elle comporte
des textbox, des comboBox et des case à cocher et c'est là ou le problème se pose. Je n'arrive à trouver le code pour que lorsque je clic sur celle-ci
s'affiche " le V de vue" dans les cellules de mon tableau dans les collonnes de BE3:BX3 et de CF3:CY3
Grâce à l'un d'entre vous j'ai un bout de code que je n'arrive à insérer :

Private Sub CheckBox1_Click()

End Sub

Private Sub CommandButton1_Click()
'Range("B1").Value = TextBox1.Value
'Range("B2").Value = TextBox2.Value

If case_controle_effectue = True Then
[A3] = ChrW(&H2713)
'Range("A3") = "v" ChrW(&H2713)
Else
Range("A3") = ""
End If

End Sub

Private Sub UserForm_Click()

End Sub

Je vous remercie d'avance pour votre aide
 

Fichiers joints

Eric C

XLDnaute Accro
Bonjour le forum
Bonjour Yaznn71

Je pensais, hier , que tu désirais le symbole de la "coche" et non le "V" de vue. Dans ce cas ton code est :
VB:
If case_controle_effectue = True Then
[A3] = "V"
.....
@+ Eric c
 

Yann71

XLDnaute Occasionnel
ou [A3] = Chr(86)
Bonjour Eric c'est toujours le cas c'est bien le v de vue que je souhaite afficher dans ma BDD. J'aimerai que ce signe apparaisse dans les colonnes de BE3 à BX3 et de CF3 à CY3 car chaque ChecBox correspondent à l'une d'entre elle.
Ex.: ChecBox dans le formulaire lundi 7h15 à 12h15 s'affiche dans la cellule de ma BDD en position BE3
 

Eric C

XLDnaute Accro
Oh là là là là .... Tu t'es perdu dans le nom de tes CheckBoxs et leur caption (tu ne le vois pas le caption dan ton USF car tu as rétrécie tes cases ????
De plus, il te faut appeler la feuille 2 ou Base pour inscrire les données - Ah oui [A1] c'était pour l'exemple (je le retrouve partout dans l'utilisation de tes CheckBoxs ???
Bon le code pour lundi 07H15 / 12H15 :
VB:
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Sheets(2).[BE3] = ChrW(&H2713) ' ou Chr(86) pour le "V" ou Chr(118) pour le "v"
Else: [BE3] = ""
End If
End Sub
Bon courage et tiens nous au courant
@+ Eric c
 

Yann71

XLDnaute Occasionnel
Oh là là là là .... Tu t'es perdu dans le nom de tes CheckBoxs et leur caption (tu ne le vois pas le caption dan ton USF car tu as rétrécie tes cases ????
De plus, il te faut appeler la feuille 2 ou Base pour inscrire les données - Ah oui [A1] c'était pour l'exemple (je le retrouve partout dans l'utilisation de tes CheckBoxs ???
Bon le code pour lundi 07H15 / 12H15 :
VB:
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Sheets(2).[BE3] = ChrW(&H2713) ' ou Chr(86) pour le "V" ou Chr(118) pour le "v"
Else: [BE3] = ""
End If
End Sub
Bon courage et tiens nous au courant
@+ Eric c
Bonsoir Eric, voici les nouvelles. J'ai inséré le code que tu m'as donné dans le fichier. A ma surprise, dans la cellule BE3 pour le lundi 07h15/12h15 il s'affiche "VRAI", que ce passe-t-il. En supprimant les lignes remplie et en vidant de son contenu la ligne "4", lorsque je saisie une entrée il me viens alors sur la ligne "4" à la cellule du fameux "lundi 07h15/12h15" le symbole, mais dans la ligne "5" ma saisie "lundi 07h15/12h15" inscrit "VRAI".
Que ce passe-t-il ou est mon erreur, je vais beuguer ;O) je te joint le fichier correspondant.
 

Fichiers joints

ChTi160

XLDnaute Barbatruc
Bonjour Yann71
Bonjour le Fil ,le Forum
Question :
Quels sont donc les saisis possibles ?
Ex :
Lundi 07h15/12h15 ou
Lundi 7h15/14h15 ou
Lundi 7h15 à 18h15 ou
Lundi 14h15/18h15 ou
Lundi 07h15/12h15 et 14h15/18h15
merci de m'indiquer
jean marie
 

Eric C

XLDnaute Accro
Bonjour le forum
Re Yann71, bonjour ChTi160

Pour simplifier ton code, tu peux mettre ceci à chacune de tes CheckBoxs en n'oubliant pas de retirer les procédures mises en place :
VB:
Private Sub checkLundi1_Click()
Sheets(1).[BE3] = IIf(Me.CheckLundi1 = True, ChrW(&H2713), "")        'ou Chr(86) pour V ou Chr(118) pour v
End Sub
Private Sub checkLundi2_Click()
Sheets(1).[BF3] = IIf(Me.CheckLundi2 = True, ChrW(&H2713), "")       ' ou Chr(86) pour V ou Chr(118) pour v
End Sub
.....
Bonne journée à toutes & à tous
@+ Eric c
 

Yann71

XLDnaute Occasionnel
Bonjour le forum
Re Yann71, bonjour ChTi160

Pour simplifier ton code, tu peux mettre ceci à chacune de tes CheckBoxs en n'oubliant pas de retirer les procédures mises en place :
VB:
Private Sub checkLundi1_Click()
Sheets(1).[BE3] = IIf(Me.CheckLundi1 = True, ChrW(&H2713), "")        'ou Chr(86) pour V ou Chr(118) pour v
End Sub
Private Sub checkLundi2_Click()
Sheets(1).[BF3] = IIf(Me.CheckLundi2 = True, ChrW(&H2713), "")       ' ou Chr(86) pour V ou Chr(118) pour v
End Sub
.....
Bonne journée à toutes & à tous
@+ Eric c
Bonjour Eric, eh bien voila ce matin j'ai remis mon code l'état d'origine avant que je place des codes CheckBox, j'ai juste laissé sur on formulaire les case à coché sans leurs attribuer un code, donc tout va bien, enfin presque, lorsque je fais une 1ère saisie, c'est dans la 2ème ligne au-lieu de la 1ère ligne qu'elle s'affiche. Lors d'une 2ème saisie elle s'affiche en dessous de la 1ère saisie ( en ligne 3 ), la 3ème saisie ( en ligne 4 ), on arrive au problème suivant, lors de la 4ème saisie celle-ci remplace le contenu de la 3ème saisie en ligne 4.
Fichier joint comme témoin
 

Fichiers joints

Yann71

XLDnaute Occasionnel
Bonjour Yann71
Bonjour le Fil ,le Forum
Question :
Quels sont donc les saisis possibles ?
Ex :
merci de m'indiquer
jean marie
Bonjour ChTi160
Une seule des CheckBox sera sélectionné par jour, donc une ChecBox pourrait être sélection à des heures différente pour ou les mêmes sur 3 jours.
J'espère avoir compris ta question
 

Eric C

XLDnaute Accro
Re,

Déjà, cela ne va pas du tout, regarde ton code :
VB:
Private Sub checkLundi2_Click()
If checkLundi2.Value = True Then
[A1] = ChrW(&H2713)
Else: [BF3] = ""
End If
End Sub
Dans ton cas si CheckLundi est coché alors C'EST la celulle A1 qui prend la valeur (la coche) ????
Remet tous ces codes avec :
Code:
Private Sub checkLundi1_Click()
Sheets(1).[BF3] = IIf(Me.CheckLundi2 = True, ChrW(&H2713), "")        'ou Chr(86) pour V ou Chr(118) pour v
End Sub
Ce sera plus simple
Je repasserai plus tard, on m'installe la fibre.
@+
 

Yann71

XLDnaute Occasionnel
Re,

Déjà, cela ne va pas du tout, regarde ton code :
VB:
Private Sub checkLundi2_Click()
If checkLundi2.Value = True Then
[A1] = ChrW(&H2713)
Else: [BF3] = ""
End If
End Sub
Dans ton cas si CheckLundi est coché alors C'EST la celulle A1 qui prend la valeur (la coche) ????
Remet tous ces codes avec :
Code:
Private Sub checkLundi1_Click()
Sheets(1).[BF3] = IIf(Me.CheckLundi2 = True, ChrW(&H2713), "")        'ou Chr(86) pour V ou Chr(118) pour v
End Sub
Ce sera plus simple
Je repasserai plus tard, on m'installe la fibre.
@+
Re,
j'ai COPIER/COLLER ton code uniquement pour LUNDI mais le symbole s'affiche en bien dans LUNDI mais dans la première ligne mais pas dans les 2 autres entrée en ligne suivante.
Dsl toutefois de te sollicité autant
 

ChTi160

XLDnaute Barbatruc
Re
oui !
Donc
une seule selection par jour et la selection des diffetents jours peut etre diffetente
merci
jean marie
 

ChTi160

XLDnaute Barbatruc
Re
une illustration de ce qui peut être fait !
j'ai préféré dans ce cas (Choix unique ) des OptionButton
On pourrait aussi passer par un Module de Classe(éviter la répétition des procédures)

Enregistrement.gif
jean marie
 

Yann71

XLDnaute Occasionnel
Re
une illustration de ce qui peut être fait !
j'ai préféré dans ce cas (Choix unique ) des OptionButton
On pourrait aussi passer par un Module de Classe(éviter la répétition des procédures)

Voir la pièce jointe 1041495
jean marie
Re
effectivement cela pourrait être une solution, mais je ne connais pas le code pour cette fonction. A cette solution est-ce qu'il est possible que lors de la sélection OptionButton il s'affiche dans ma BDD le symbole "v"
 

Discussions similaires


Haut Bas