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

Microsoft 365 Reduire code

Teren

XLDnaute Nouveau
Bonjour, je suis novice, j'apprend doucement. Sui pourrai venir a mon aide sur code. J'aimerai apprendre à réduire.
Merci a vous d'avance.


Privat sub commandbutton1_click

Worksheets("feuil1").select
If combobox1.listindex=0 then
Range("G1")=checkbox1
Range("G2")=checkbox2
...
.
....


..
Jusque
Range("G50")=checkbox50
Activeworkbook.save
Sheets( " Départ").Activate
End if
End sub
 
Dernière édition:

JM27

XLDnaute Barbatruc
un peu plus fort :
pas besoin de select ou activate
en supposant que tu restes sur la feuille Départ

VB:
Private Sub commandbutton1_click()
    Dim J As Byte
    With Worksheets("feuil1")
        If combobox1.ListIndex = 0 Then
            For J = 1 To 50
            .Range("G" & J) = Me.Controls("checkbox" & J).Value
            Next
            ActiveWorkbook.Save
        End If
    End With
End Sub
 

Teren

XLDnaute Nouveau
 

Teren

XLDnaute Nouveau
Voici le code complet:
Private sub combobox1_dropbuttonclick()
If Combobox1.listcount=0 then
With combobox1
.additem " 01/01/22"
.additem "02/01/22"
.additem "03/01/22"
End with
End if
End sub

Private sub commandbutton1_click
Dim J as byte
With worksheets ("2022")
If combobox1.listindex=0 then
For J = 1 to 50
Range("G"&J)=me.controls("checkbox"&J).value
Next
Activeworkbook.save
End if
End with
End sub

La ligne range après for J =1 to 50 se mets en jaune erreur d'execution
 

JM27

XLDnaute Barbatruc
il faut poster ton fichier
C'est certainement du à une check box mal orthographié
Quand tu passes la souris sur j, il a quelle valeur ?


de plus la copie est mal faite Il manqque un point devant le Range("G"&J)=me.controls("checkbox"&J).value
le point fait référence à la feuille
For J = 1 to 50
.Range("G"&J)=me.controls("checkbox"&J).value
Next

Pour ta formation: il fait indenter( des retraits) ton code comme je l'ai fais au #9 , ca facilite vraiment le déboggage, sinon cela devient vite incompréhensible
 
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…