Decocher des cases avec une macro

cgrandmaire

XLDnaute Nouveau
bonjour
J'ai fait un tableau où on coche des cases.Je souhaiterai faire une macro pour re-innitialiser mon tableau, donc décocher toutes les cases.
Merci
 

geraldine69

XLDnaute Nouveau
Re : Decocher des cases avec une macro

Bonjour,

Cela dépend de la provenance des cases à cocher.

Voici une méthode pour 3 vas de figure


Mettre à zéro toutes les cases à cocher sur Un UseForm

Private Sub CommandButton1_Click()

Dim InitCase As Control
For Each InitCase In Me.Controls
InitCase.Value = False
Next InitCase

End Sub


Mettre toutes les cases à cocher sur une feuille Excel

Si les cases à cocher proviennent de la barre outil Contrôle


Sub InitCaseACocher()
Dim Shps As OLEObject
For Each Shps In Feuil1.OLEObjects
If Shps.progID = "Forms.CheckBox.1" Then
Shps.Object.Value = False
End If
Next Shps
End Sub


Si les cases à cocher proviennent de la barre outil Formulaire

Sub InitCaseACocher()
Dim Shp As Shape
For Each Shp In Sheets("Feuil1").Shapes
If Shp.Name Like "Check Box*" Then
Shp.DrawingObject.Value = False
End If
Next Shp
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Decocher des cases avec une macro

Re

cgrandmaire
Si tu dissocies ton groupe, cela fonctionne (Tu sélectionnes ton groupe, clic-droit puis choisir Dissocier, avant d’exécuter la macro)
(j'ai testé avec ma macro et cela fonctionne)

Edition: bonjour CB60, penses-tu qu'on soit obliger de boucler dans le cas présent ?
 
Dernière édition:

CB60

XLDnaute Barbatruc
Re : Decocher des cases avec une macro

re
test cela:
Sub Vide_Case()
Dim cse As Shape
On Error Resume
Next
ActiveSheet.Shapes(1).Select
Selection.ShapeRange.Ungroup.Select
For
Each cse In Sheets("feuil1").Shapes
If cse.Name Like
"Check Box*" Then

cse.DrawingObject.Value = False
End If
Next
cse


ActiveSheet.Shapes("Picture
40").Select
Selection.ShapeRange.Regroup.Select
Range("A1").Activate

End
Sub

edit
bonjour Stapple, non la boucle n'est pas necessaire.
la macro devient:
HTML:
Sub decoche()
On Error Resume Next
ActiveSheet.Shapes(1).Select
Selection.ShapeRange.Ungroup.Select
ActiveSheet.DrawingObjects = False
ActiveSheet.Shapes("Picture 40").Select
Selection.ShapeRange.Regroup.Select
Range("A1").Activate
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof