Rechercher : dans
Par :

VBA Excel - Conversion nom d'objet en string

Dernière réponse le 25 fév 2009 à 19:00:14 jp22, le 24 fév 2009 à 22:23:53 
 Signaler ce message aux modérateurs

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.

Meilleures réponses pour « VBA Excel Conversion nom d'objet en string » dans :
Excel - Convertir fichier(s) CSV / XLS VoirComme dit dans le titre, cette application convertit des fichiers CSV en fichiers XLS N’est pas nécessaire pour Excel 2007, ce dernier faisant la conversion automatiquement La conversion n’ayant pas de mise en forme, en cas de modification...
Javascript - L'objet String VoirLes particularités de l'objet String string est un mot anglais qui signifie "chaîne", il s'agit en fait de chaîne de caractères. L'objet String est un objet qui contient un certain nombre de propriétés et de méthodes permettant la manipulation...

1

gbinforme, le 24 fév 2009 à 23:10:57

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.
Toujours zen

Répondre à gbinforme

2

jp22, le 25 fév 2009 à 18:29:22

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

Répondre à jp22

3

 gbinforme, le 25 fév 2009 à 19:00:14
  • +1

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

Toujours zen

Répondre à gbinforme