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

Amélioration possible ???

teamtat

XLDnaute Occasionnel
Bonjour,
Je voudrais savoir si c'été possible d'améliorer ce code ???
Merci

Code:
If ThisWorkbook.Worksheets("Saisie de données").CheckBox13.Value = True Then
      wk.Worksheets("Masque saisie").mac3 = True
Else
      wk.Worksheets("Masque saisie").mac3 = False
End If

If ThisWorkbook.Worksheets("Saisie de données").CheckBox14.Value = True Then
     wk.Worksheets("Masque saisie").mac3 = True
Else
      wk.Worksheets("Masque saisie").mac3 = False
End If


If ThisWorkbook.Worksheets("Saisie de données").CheckBox16.Value = True Then
      wk.Worksheets("Masque saisie").mac3 = True
Else
      wk.Worksheets("Masque saisie").mac3 = False
End If
 

roro69

XLDnaute Impliqué
Re : Amélioration possible ???

Bonjour,
Aessayer:
A++
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Amélioration possible ???

Bonjour teamtat,
Peut être avec :
Code:
With ThisWorkbook.Worksheets("Saisie de données")
If .CheckBox13.Value = True And .CheckBox14.Value = True And  CheckBox16.Value = True  Then
      wk.Worksheets("Masque saisie").mac3 = True
Else
      wk.Worksheets("Masque saisie").mac3 = False
End If
End With
Je ne doute pas qu'il ai mieux.
Cordialement
 

teamtat

XLDnaute Occasionnel
Re : Amélioration possible ???

Merci mais j'ai oublié de préciser que j'ai des autres checkboxs

Code:
 If ThisWorkbook.Worksheets("Saisie de données").CheckBox13.Value = True Then
      wk.Worksheets("Masque saisie").mac3 = True
Else
      wk.Worksheets("Masque saisie").mac3 = False
End If

If ThisWorkbook.Worksheets("Saisie de données").CheckBox14.Value = True Then
     wk.Worksheets("Masque saisie").mac3 = True
Else
      wk.Worksheets("Masque saisie").mac3 = False
End If


If ThisWorkbook.Worksheets("Saisie de données").CheckBox16.Value = True Then
      wk.Worksheets("Masque saisie").mac3 = True
Else
      wk.Worksheets("Masque saisie").mac3 = False
End If 


'*********************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox19.Value = True Then
      wk.Worksheets("Masque saisie").ris20 = True
Else
      wk.Worksheets("Masque saisie").ris20 = False
End If

If ThisWorkbook.Worksheets("Saisie de données").CheckBox66.Value = True Then
      wk.Worksheets("Masque saisie").ris20 = True
Else
      wk.Worksheets("Masque saisie").ris20 = False
End If
 

pierrejean

XLDnaute Barbatruc
Re : Amélioration possible ???

bonjour teamtat

Salut roro

Si les Checkbox sont issues de la boite a outils Controles :
A tester
Code:
Numeros = Array(13, 14, 16)
For n = LBound(Numeros) To UBound(Numeros)
 If ThisWorkbook.Worksheets("Saisie de données").Shapes("CheckBox" & Numeros(n)).Value = True Then
   wk.Worksheets("Masque saisie").mac3 = True
 Else
   wk.Worksheets("Masque saisie").mac3 = False
 End If
Next n
 

teamtat

XLDnaute Occasionnel
Re : Amélioration possible ???

Merci efgé le code est correct mais cela ne coche pas mes checkbox dans mon autre classeur


Code:
 With ThisWorkbook.Worksheets("Saisie de données")
If .CheckBox19.Value = True And .CheckBox66.Value = True Then
     wk.Worksheets("Masque saisie").ris20 = True
Else
      wk.Worksheets("Masque saisie").ris20 = False
End If
End With
 

pierrejean

XLDnaute Barbatruc
Re : Amélioration possible ???

Re

Sauf erreur , il n'y a rien a mettre a la place de Numeros
Et si cela fonctionne le seul avantage par rapport a celle de mon voisin Youki est que l'ajout ou le retrait d'un Numero de checkbox est plus rapide
 

pierrejean

XLDnaute Barbatruc
Re : Amélioration possible ???

Re

Si on reprend le code d'origine ma formulation est correcte et correspond aux And
Et il est vrai que pour des OR ,je devrais avoir

Code:
Numeros = Array(13, 14, 16)
For n = LBound(Numeros) To UBound(Numeros)
If ThisWorkbook.Worksheets("Saisie de données").Shapes("CheckBox" & Numeros(n)).Value = True Then
wk.Worksheets("Masque saisie").mac3 = True
exit for
Else
wk.Worksheets("Masque saisie").mac3 = False
End If
Next n
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…