Sélectionner la cellule ou est la checkbox

Résolu/Fermé
tonio44 - 2 févr. 2010 à 21:03
 tonio44 - 2 févr. 2010 à 22:26
Bonjour,
Voila je voudrais sélectionner la cellule de gauche d'une checkbox si elle est coché...

j'ai besoin de sélectionner la cellule où est la checkbox pour après me déplacer sur la gauche.

j'ai ce code la:

For i = 1 To 4
valcell = CheckBox1.Value
If ActiveSheet.OLEObjects(i).Object.Value = True Then
ActiveSheet.OLEObjects(i).Object.Select ' <== ici ca ne fonctionne pas
  ActiveCell.Offset(0, -1).Select
  valeurcellule = ActiveCell.Value
MsgBox valeurcellule 'valeur de la cellule de gauche

3 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 714
2 févr. 2010 à 22:11
bonjour

ActiveSheet.OLEObjects(i).Object.Select ' <== ici ca ne fonctionne pas

Comme ceci sans doute :
ActiveSheet.OLEObjects(i).Select


Par contre tu n'as aucune chance ainsi de trouver la cellule concernée...
0
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
2 févr. 2010 à 22:17
Bonjour,
Juste au passage, votre case à cocher se trouve-t-elle sur une feuille ou une [UserForm] ?
A défaut, mettre le fichier sur https://www.cjoint.com/ et poster le lien !
0
j'ai enfete trouvé :-)

Private Sub CommandButton1_Click()
Dim feuilleTraitée As Object
Dim objetTraité As Object
Dim cell
Dim valeurcellule



For Each feuilleTraitée In ActiveWorkbook.Worksheets
For Each objetTraité In feuilleTraitée.DrawingObjects
   With objetTraité
   If objetTraité.Name <> "CommandButton1" Then  'j'exclu un bouton
     If objetTraité.Object.Value = True Then             'si l'objet en question est coché alors :
      cell = .TopLeftCell.Address          'je récupère l'adresse de la cellule dans lequel se situe mon checkbox
      Range(cell).Select                        'je sélectionne cette cellule
      ActiveCell.Offset(0, -1).Select          'je me déplace d'une cellule vers la gauche
  valeurcellule = ActiveCell.Value           ' je récupère la valeur de la cellule.
  
    
    End If
   End If
End With
Next
Next
End Sub
0