VBA Excel - Conversion nom d'objet en string

Bonjour,

J'aimerais savoir si c'est possible de transformer par une conversion quelqu'on que le nom d'un objet en string (dans excel en vba) un peu comme:

Dim Nom As String
Nom = CStr(CheckBox1)
...
Sheets("Feuil1").Nom.Enable = True

L'object ici étant un checkbox, c'est pour pouvoir l'incrémenter dans une boucle while.

Merci.

3 réponses

  1. Contributeur
    bonjour

    En prenant l'exemple 3 fourni cela devrait donner :
    Public Sub boucle_obj()
    Dim o As Integer
    For o = 1 To 100     ' à adapter à ton classeur
        Sheets("Feuil1").Shapes("CheckBox" & o + 4).Enabled = True
        Sheets("Feuil1").Shapes("CheckBox" & o + 4).Value = True
    Next o
    End Sub
    1. Contributeur
      bonjour

      Tu as plusieurs façons de la faire et je t'en mets 3 pour exemple :
      Public Sub boucle_obj()
      Dim o As Integer
      Dim nom As String
      Dim obj As Object
      For Each obj In ActiveSheet.Shapes
          nom = obj.Name
      Next obj
      For o = 1 To ActiveSheet.Shapes.Count
          nom = ActiveSheet.Shapes(o).Name
      Next o
      For o = 1 To ActiveSheet.Shapes.Count
          On Error Resume Next    ' filtre autres controles
          nom = ActiveSheet.Shapes("CheckBox" & o).Name
      Next o
      End Sub

      J'ai supposé que tes contrôles étaient sur la feuille car si tu es dans un formulaire c'est différent.
      1. Merci pour ta réponse,

        En fais mes contrôles étant des tous des checkbox sont sur une autre feuille et je fonctionne avec Target.Value

        If Target.Value = 1 Then
        Sheets("Feuil1").CheckBox5.Enabled = True
        Sheets("Feuil1").CheckBox5.Value = True
        End If

        If Target.Value = 2 Then
        Sheets("Feuil1").CheckBox6.Enabled = False
        Sheets("Feuil1").CheckBox6.Value = False
        End If

        If Target.Value = 3 Then
        Sheets("Feuil1").CheckBox7.Enabled = False
        Sheets("Feuil1").CheckBox7.Value = True
        End If

        etc...
        C'est simplement pour savoir si c'est possible d'incrémenter automatiquement dans une boucle le numéro du checkbox au lieu de changer le chiffre a chaque fois.

        Merci