Sélectionner la cellule ou est la checkbox

Résolu
tonio44 -  
 tonio44 -
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

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  2. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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
  3. tonio44
     
    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