Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 

Pièces jointes

  • BBD_TEST.xlsm
    144.6 KB · Affichages: 15
Dernière édition:

Eric C

XLDnaute Barbatruc
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 Barbatruc
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

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.
 

Pièces jointes

  • BDD_3_AMELIORE_B - Copie.xlsm
    144.5 KB · Affichages: 11

Eric C

XLDnaute Barbatruc
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 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
 

Pièces jointes

  • BBD_TEST3.xlsm
    142.4 KB · Affichages: 9

Eric C

XLDnaute Barbatruc
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,
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
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…