Cherche code condition si checkbox cochée dans userform.

carlitostyle

XLDnaute Junior
Bonjour a toute la communauté XLD !

J'ai un petit problème avec mon userform enfin plus précisément ma Checkbox.

Le concept c'est que j'ai deux feuilles, "basededonnees" et "etatdustock".

Et j'ai un userform "Ajouterreference" qui se trouve en haut de ma feuille "etatdustock".

Lorsque je l'ouvre et que je remplie les textbox, tout est nickel et une ligne se crée dans "etatdustock"

. Seulement je voudrai que si je coche la checkbox1 " Ajouter également cette références dans le catalogue ".


- le label2 et la textbox8 apparaissent . Ensuite on rempli la textbox8( descriptif ).

Alors nous avons seulement : Fournisseur / Référence / Descriptif catalogue >>>> qui vont créer une ligne supplémentaire dans "basededonnees". ( en plus de la ligne créer dans etatdustock )


Pourriez vous m'aider ? Je ne trouve pas de solution sur internet avec cette condition si checkbox coché...


Merci beaucoup, je vous join mon fichier j'éspère que ça pourra vous aider. merci :)
 

Pièces jointes

  • carlitostylecase.xls
    81.5 KB · Affichages: 80

Papou-net

XLDnaute Barbatruc
Re : Cherche code condition si checkbox cochée dans userform.

Bonjour catlitostyle,

Voici deux procédures à insérer dans ton module "Ajouterreference" :

Code:
Private Sub CheckBox1_Change()
Label2.Visible = CheckBox1
TextBox8.Visible = CheckBox1
End Sub

Private Sub UserForm_Activate()
Label2.Visible = CheckBox1
TextBox8.Visible = CheckBox1
End Sub
Par contre ton fichier produit une erreur au démarrage car le formulaire "userformacceuil" appelé dans la procédure "Private Sub Workbook_open()" n'exista pas.

Par ailleurs, je n'ai pas bien su saisir ce que tu veux faire par le bouton "Ajouter Référence" si le CheckBox1 est coché ?

A te lire.

Cordialement.
 

carlitostyle

XLDnaute Junior
Re : Cherche code condition si checkbox cochée dans userform.

Bonjour catlitostyle,

Voici deux procédures à insérer dans ton module "Ajouterreference" :

Code:
Private Sub CheckBox1_Change()
Label2.Visible = CheckBox1
TextBox8.Visible = CheckBox1
End Sub

Private Sub UserForm_Activate()
Label2.Visible = CheckBox1
TextBox8.Visible = CheckBox1
End Sub
Par contre ton fichier produit une erreur au démarrage car le formulaire "userformacceuil" appelé dans la procédure "Private Sub Workbook_open()" n'exista pas.

Par ailleurs, je n'ai pas bien su saisir ce que tu veux faire par le bouton "Ajouter Référence" si le CheckBox1 est coché ?

A te lire.

Cordialement.


Merci de m'avoir répondu Papou-net. Je viens d'éssayer ton bout de code et ça marche pas mal, même trés bien merci :)


Pour que tu comprenne mieux, en fait si je ne coche pas la checkbox1 alors la ligne se crée dans "Etatdustock" et c'est fini. ( ligne créer grace aux textbox dans l'userform)

Ensuite si je coche, > 1 er action : la ligne se créer dans etatdustock ( la c'est bon )
2 eme action : je peux ajouter un descriptif ( la c'est bon )
3 eme action : une ligne supplémentaire se crée dans la feuille "basededonnees" en reprenant les champ : Fournisseur / Référence / Descriptif . de l'userform.


C'est cette troisiéme action qu'il me manque a vrai dire. Qu'est-ce que tu en pense ?
 

Papou-net

XLDnaute Barbatruc
Re : Cherche code condition si checkbox cochée dans userform.

RE carlitostyle,

Il faut donc ajouter quelques lignes à la macro du bouton "Ajouter Référence" dont voici le code complet :

Code:
Private Sub CommandButton1_Click()
Dim i As Byte 'déclare la variable i (incrément)
Dim ct(1 To 6) As Control 'déclare le tableau de variables ct (ConTrôles)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim q As Integer 'déclare la variable q (Quantité)

Set ct(1) = Me.TextBox1: Set ct(2) = Me.TextBox3: Set ct(3) = Me.TextBox6:: Set ct(4) = Me.TextBox5: Set ct(5) = Me.TextBox4: Set ct(6) = Me.TextBox7   'définit les cinq contrôles
For i = 1 To 6 'boucle sur les cinq labels
    'colore le label, en rouge si le contrôle correspondant est vide, en noir si le contrôle correspondant est non vide
    Me.Controls("lb" & i).ForeColor = IIf(ct(i).Value = "", RGB(255, 0, 0), RGB(0, 0, 0))
Next i 'prochain label de la boucle
For i = 1 To 6 'boucle sur les trois labels
    If Me.Controls("lb" & i).ForeColor = RGB(255, 0, 0) Then 'condition : si le label est rouge
        MsgBox "Vous devez renseigner le " & Left(Me.Controls("lb" & i).Caption, Len(Me.Controls("lb" & i).Caption) - 4) & " !" 'message
        ct(i).SetFocus 'donne le focus au contrôle correspondant
        Exit Sub 'sort de la procédure
    End If 'fin de la condition
Next i 'prochain label de la boucle

With Sheets("Etatdustock") 'prend en compte l'onglet "Etatdustock"
    dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row + 1 'de'finit la dernière ligne de la colonne A
    .Cells(dl, 1) = Me.TextBox1.Value 'place la civilité en colonne A
    .Cells(dl, 2) = Me.TextBox3.Value 'place le nom en colonne B
    .Cells(dl, 3) = Me.TextBox6.Value 'place le projet en colonne C
    .Cells(dl, 4) = Me.TextBox5.Value 'place le chantier en colonne D
    .Cells(dl, 5) = Me.TextBox4.Value 'place le fournisseur en colonne E
    .Cells(dl, 7) = Me.TextBox7.Value 'place le fournisseur en colonne E
End With 'fin de la prise en compte de l'onglet "ficheresponsableachat"
' ---------------------------------------------------------------------------------------------
If CheckBox1 Then ' ajoute le fournisseur à la feuille base de données si checkbox1 est cochée
  With Sheets("basededonnees")
    lg = .Range("A" & .Rows.Count).End(xlUp).Row + 1 ' récupère le n° de la 1ère ligne vide en colonne A
    .Cells(lg, 1) = TextBox7 ' Fournisseur
    .Cells(lg, 2) = TextBox1 ' Référence
    .Cells(lg, 3) = TextBox8 ' Descriptif
  End With
End If
' ---------------------------------------------------------------------------------------------
MsgBox "Votre référence a été ajoutée avec succés ! " 'message
Unload Me 'vide et ferme l'Userform
Worksheets("Etatdustock").Activate 'affiche l'UserForm "Formulaire"
End Sub
La partie ajoutée est ente les tirets.

Espérant avoir conclu.

Cordialement.
 

Pièces jointes

  • Copie de carlitostylecase-1.xls
    93.5 KB · Affichages: 109
Dernière édition:

Discussions similaires

Réponses
17
Affichages
1 K

Statistiques des forums

Discussions
312 240
Messages
2 086 517
Membres
103 239
dernier inscrit
wari