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 Accro
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
Bonsoir
normalement oui
tu auras des true ou false sur chaque le
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
[/QUOTE]
[/QUOTE]
 

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 Accro
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:

Discussions similaires

Réponses
18
Affichages
2 K

Statistiques des forums

Discussions
298 771
Messages
1 971 605
Membres
203 412
dernier inscrit
elrico22