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

Aide pour raccourcir code chexbox ,merci

  • Initiateur de la discussion Initiateur de la discussion davidp
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

davidp

XLDnaute Occasionnel
bonsoir le forum ,

j'ai encore besoin de votre aide car je dois programmer 710 chexbox ( 10 serie de 71 chexbox).
Chaque serie aura une Worksheets differente mais les mêmes cellules de destination.

ce qui veut dire que je pourrais faire un copier coller des codes de la premiere serie de chexbox de 1 à 71 (dans ce cas je devrais changer le nom de chaque chexbox soit de chexbox72 à 142 (serie n°2) et le nom de la feuille (ex:charcuterie)

existe t il un facon de rationaliser le code?

Merci d'avance pour votre aide


Private Sub CheckBox1_Click() 'boulangerie
If CheckBox1.Value = True Then Worksheets("boulangerie").Range("D6:G6").Value = ""
End Sub


Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then Worksheets("boulangerie").Range("D7:G7").Value = ""
End Sub

Private Sub CheckBox3_Click()
If CheckBox3.Value = True Then Worksheets("boulangerie").Range("D8:G8").Value = ""
End Sub
Private Sub CheckBox4_Click()
If CheckBox4.Value = True Then Worksheets("boulangerie").Range("D9:G9").Value = ""
End Sub

Private Sub CheckBox5_Click()
If CheckBox5.Value = True Then Worksheets("boulangerie").Range("D10:G10").Value = ""
End Sub

Private Sub CheckBox6_Click()
If CheckBox6.Value = True Then Worksheets("boulangerie").Range("D11:G11").Value = ""
End Sub

Private Sub CheckBox7_Click()
If CheckBox7.Value = True Then Worksheets("boulangerie").Range("D12:G12").Value = ""
End Sub

Private Sub CheckBox8_Click()
If CheckBox8.Value = True Then Worksheets("boulangerie").Range("D13:G13").Value = ""
End Sub

Private Sub CheckBox9_Click()
If CheckBox9.Value = True Then Worksheets("boulangerie").Range("D14:G14").Value = ""
End Sub
Private Sub CheckBox10_Click()
If CheckBox10.Value = True Then Worksheets("boulangerie").Range("D15:G15").Value = ""
End Sub

jusqu'à chexbox71 pour la feuille boulangerie


Merci d'avance pour votre aide
DAVID
 
Re : Aide pour raccourcir code chexbox ,merci

Bonsoir,

Insertion>Module de classe, tu copie ceci:

Code:
Public Plage As Range

Public WithEvents ChkBox As MSForms.CheckBox

Private Sub ChkBox_Click()
    If ChkBox.Value = True Then Plage.Value = ""
End Sub

Dans ton formulaire:
Code:
Dim LesCheckBox As Collection

Private Sub UserForm_Initialize()
    Dim i As Long, j As Long
    Dim UnCheckBox As Classe1
    Dim LesFeuilles()
    Set LesCheckBox = New Collection
    LesFeuilles = Array("Boulangerie", "Charcuterie", "La suite")
    For i = 1 To 10
        For j = 1 To 71
            Set UnCheckBox = New Classe1
            LesCheckBox.Add UnCheckBox
            With UnCheckBox
                Set .ChkBox = Me.Controls("CheckBox" & (i - 1) * j + j)
                Set .Plage = _
                    Worksheets(Array(i - 1)).Cells(6 + i - 1, 4).Resize(1, 4)
            End With
        Next
    Next
End Sub

Tu complete les noms de feuilles manquants avant de tester et si t'as des questions tu sais quoi faire.

Cordialement,

Tirex28/
 
Re : Aide pour raccourcir code chexbox ,merci

Tirex28,

je te remercie pour ton aide (car j'ai réalisé cette nuit les 710 chexbox,mais le systeme etait trop ralentit " et moi aussi!!!!!).
je teste et te tiens au courant.(je n'aurai jamais trouvé tout seul,je vais étudier ton code...

A demain

DAVID
 
Re : Aide pour raccourcir code chexbox ,merci

Rebonsoir,

j'avais oublier de préciser que la totalité des chexbox sont directement sur la feuille "base" et non dans userform.

Bonne soiree et à demain

DAVID
 
Re : Aide pour raccourcir code chexbox ,merci

Bonsoir,

j'avais oublier de préciser que la totalité des chexbox sont directement sur la feuille "base" et non dans userform.

Bon ben c'est pas grave, il faut juste changer d'approche. Personnellement gérer 710 objets je trouve ca un peu lourd. Voici un exemple d'utilisation d'une listbox qui pourrait te donner des idees.

Cordialement,

Tirex28/
 

Pièces jointes

Re : Aide pour raccourcir code chexbox ,merci

bonjour Tirex28,

merci pour ton fichier, des que j'aurai un peu de temps ,je vais essayer de l'adapter à ma feuille.
je te souhaite un bon week end .

DAVID
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
326
Réponses
9
Affichages
476
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…