Bonjour,
J'ai un petit soucis pour l'utilisation des checkbox avec vba!
J'aimerai que dans mes cases G il se mette oui ou non en fonction de la case qui est cochée dans un autre fichier. Le problème c'est que je pense que j'ai un problème de syntaxe, mais je ne sais pas où. Je vous ai mis des images pour illustrer mon propos!
Voici le code que j'utilise :
Private Sub CommandButton1_Click()
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OS (Onglet source)
Dim ch As CheckBox
Set CD = ThisWorkbook 'définit le classeur destination CD
Set OD = CD.Worksheets("Exutoire milieu naturel") 'à adapter à ton cas
Workbooks.Open Filename:=ThisWorkbook.Path & "\Fiche DO.xlsx"
Set CS = Workbooks("Fiche DO.xlsx") 'définit le classeur source CS
i = 1 'on part de la feuille 2 du fichier 'Fiche_DO'
j = Worksheets.Count 'nombre de feuille du fichier 'fiche_DO'
n = 2 'on part de la ligne 2
OD.Range("A2:H1000").ClearContents
While i <= j
'###### Ecoulement par temps sec######
'si la case 10 est cochée : on ecrit non, si la case 8 est coché on écrit oui, et si aucune des deux n'est cochées on écrit "-"
If CS.Sheets(i).CheckBoxes("Case à cocher 8").Value = xlOn Then
OD.Cells(n, "G") = "Oui"
ElseIf CS.Sheets(i).CheckBoxes("Case à cocher 10").Value = xlOn Then
OD.Cells(n, "G") = "Non"
Else
OD.Cells(n, "G") = "-"
End If
'on recommence la boucle pour changer de feuille
i = i + 1
n = n + 1 'on va à la ligne suivante pour un nouveau DO
Wend
CS.Close False
End Sub
Si vous avez une petite idée pour m'aider ça serait cool !
Merci d'avance!