Problème CheckBox
Bonjour a tous,
J'ai 3 CheckBox, la première fonctionne parfaitement, mais la 2ème fonctionne uniquement si la 1er est cocher, et la 3ème fonctionne pas du tout.
Voici le fichier.
Fichier supprimer
Merci beaucoup
Bonjour,
Euh, pourquoi tu calcules "IntLigne, Lg et i"?
Ils ne servent à rien, dans ton code.....
Et ensuite, pourquoi, dans tes codes, quelles que soient les cases cochées, tu fais toujours référence à la "CheckBox1"??????
If CheckBox1 = True ThenPas étudié plus avant ton code, mais rectifie déjà cette anomalie, et ensuite, je pense qu'on peut simplifier...
Bon courage
Bonjour,
cousinhub
Sa doit être une erreur de ma part alors, quel face toutes référence a la checkbox1.
Sinon au cour de la journée j'ai régler le premier de mes soucie.
Le passage automatique a la ligne 28 voici le code :
Private Sub CheckBox1_Click()
Dim Lg As String, i As Long, IntLigne As Long
IntLigne = ActiveSheet.Cells(2, 1).End(xlDown).Row + 27
'La ligne dans laquelle sont ajoutées les valeurs est définie par la TextBox1
Lg = Sheets("Liste des clients").Cells(65536, 1).End(xlUp).Row + 27
'texte des cases
If CheckBox1 = True Then
Sheets("Devisation").Cells(Lg, "C").Value = Sheets("Bibliothèque VELUX®").Range("C2").Value
Else
Sheets("Devisation").Cells(Lg, "C") = ""
End If
End SubEnsuite la deuxième CheckBox est maintenant indépendante de la première mais elle me remplace la valeur de la Première si celle ci est coché
Ses a dire :
Quand CheckBox1 est cocher, alors elle envoie les info a C28
Mais:
Quand CheckBox2 est cocher, alors elle envoie les info a C28 également donc elle remplace les donné.
hors se que je voudrait ses que si la case C28 est déjà occuper alors sa passe a la case qui est vide.
Voyer vous ?
Merci a vous
Voici le fichier actuel
Bonjour,
J'ai modifié ton code pour qu'il cherche une ligne vide si une case a déjà été cochée ou qu'il efface la bonne ligne si la case est décochée.
A adapter à la case 3.
Private Sub CheckBox2_Click()
Dim Lg As String, i As Long, IntLigne As Long
'IntLigne = ActiveSheet.Cells(2, 1).End(xlDown).Row + 27
'La ligne dans laquelle sont ajoutées les valeurs est définie par la TextBox1
Lg = Sheets("Liste des clients").Cells(65536, 1).End(xlUp).Row + 27
'texte des cases
If CheckBox2 = True Then
While Not IsEmpty(Sheets("Devisation").Range("C" & Lg).Value)
Lg = Lg + 1
Wend
Sheets("Devisation").Cells(Lg, "C").Value = Sheets("Bibliothèque VELUX®").Range("C5").Value
Else
While Not Sheets("Devisation").Range("C" & Lg).Value = Sheets("Bibliothèque VELUX®").Range("C5").Value
Lg = Lg + 1
Wend
Sheets("Devisation").Cells(Lg, "C") = ""
End If
End SubA+
Bonjour a toi dachevid,
Désoler de répondre tardivement car après quelque jours sans réponse j'avais laisser tomber.
Je suis revenue pour poster la réponse a mon problème, sinon j'allai pas voir t'a solution
Merci beaucoup pour le code, ses effectivement se que je voulais.
De mon coter j'ai sa qui fonctionne aussi :
Private Sub CheckBox1_Click()
Dim Lg As String, i As Long, IntLigne As Long
Macro2
If CheckBox1 = True Then
ActiveCell.Value = Sheets("Bibliothèque VELUX®").Range("C2").Value
ActiveCell.Range("f1").Value = Sheets("Bibliothèque VELUX®").Range("B2").Value
ActiveCell.Range("a2").Value = Sheets("Bibliothèque VELUX®").Range("B3").Value
ActiveCell.Range("a3").Value = Sheets("Bibliothèque VELUX®").Range("B4").Value
ActiveCell.Range("r1").Value = Sheets("Bibliothèque VELUX®").Range("G2").Value
ActiveCell.Range("s1").Value = Sheets("Bibliothèque VELUX®").Range("H2").Value
ActiveCell.Range("u1").Value = Sheets("Bibliothèque VELUX®").Range("F2").Value
Else
ActiveCell.Value = ""
ActiveCell.Range("f1") = ""
ActiveCell.Range("a2") = ""
ActiveCell.Range("a3") = ""
ActiveCell.Range("r1") = ""
ActiveCell.Range("s1") = ""
ActiveCell.Range("u1") = ""
End If
End Sub
Private Sub CheckBox2_Click()
Dim Lg As String, i As Long, IntLigne As Long
Macro2
If CheckBox2 = True Then
ActiveCell.Value = Sheets("Bibliothèque VELUX®").Range("C5").Value
ActiveCell.Range("f1").Value = Sheets("Bibliothèque VELUX®").Range("B5").Value
ActiveCell.Range("a2").Value = Sheets("Bibliothèque VELUX®").Range("B6").Value
ActiveCell.Range("a3").Value = Sheets("Bibliothèque VELUX®").Range("B7").Value
ActiveCell.Range("r1").Value = Sheets("Bibliothèque VELUX®").Range("G5").Value
ActiveCell.Range("s1").Value = Sheets("Bibliothèque VELUX®").Range("H5").Value
ActiveCell.Range("u1").Value = Sheets("Bibliothèque VELUX®").Range("F5").Value
Else
ActiveCell.Value = ""
ActiveCell.Range("f1") = ""
ActiveCell.Range("a2") = ""
ActiveCell.Range("a3") = ""
ActiveCell.Range("r1") = ""
ActiveCell.Range("s1") = ""
ActiveCell.Range("u1") = ""
End If
End Subet la Macro2 ses :
Sub Macro2()
Sheets("Devisation").Select
Range("C1000").Select
Selection.End(xlUp).Select
ActiveCell.Range("a2").Select
End SubMerci encore.
A+