Ambiguous name detected

jetted

XLDnaute Occasionnel
Bonjour a tous

Vous allez m`excuser je travail avec excel en anglais, donc la terminologie sera anglaise.

J`ai un petit probleme lorsque je fais un boutton et que je le nomme cmdRunForm et je l`associe a un evenement (click) qui appelle auto_open.

Si part accident je delete ce boutton, lorsque viens le temps de reecree ce boutton je ne peux le renomme cmdRunForm pour l`instant j`incremente par exemple cmdRunForm1....

J`ai fais sur qu`il n`y avait plus de reference cmdRunForm, on dirait que excel 2003 reconnait que j`ai deja utiliser ce nom. Un peu agacant....

Si je ne suis pas claire, je peux vous envoyer le code et/ou y-a-t`il moyen de faire une boucle pour lister les objets bouttons (autoshape) sur ma feuille de travail.
Bon j'ai trouve comment looper au travers, donc si vous pouvez m'aider avec la premiere partie
Code:
Sub test()
For Each i In ActiveSheet.Shapes
    a = ActiveSheet.Shapes(i.Name).Name
    MsgBox a
   Next i

End Sub
 
Dernière édition:

jetted

XLDnaute Occasionnel
Re : Ambiguous name detected

bon de retour au boulot
lorsque que j'utilise
Code:
Sub test()
For Each i In ActiveSheet.Shapes
    a = ActiveSheet.Shapes(i.Name).Name
    MsgBox a
   Next i

End Sub
Le message box retourne cmdRunForm4, cmdRunForm5, et cmdRunForm6

Cependant lorsque j'utilise ce code
Code:
Public Sub button_visible()
Dim oleobj As OLEObject

For Each oleobj In ActiveSheet.OLEObjects
    If oleobj.progID = "Forms.CommandButton.1" Then
        'oleobj.Visible = Not oleobj.Visible
        'a = oleobj.Name
        oleobj.Visible = True
    End If
Next oleobj
    
End Sub

Les boutons 4 et 5 demeure invisible et celui cmdRunForm6 est present, j'ai meme utilise oleobj.delete sans succes
 

Staple1600

XLDnaute Barbatruc
Re : Ambiguous name detected

Bonsoir

Juste pour info et pour éviter un claquage de l'index à force de cliquer sur OK, sors la msgbox de la boucle
Code:
Sub test()
For Each i In ActiveSheet.Shapes
    a = a & ActiveSheet.Shapes(i.Name).Name & vbCrLf
   Next i
MsgBox a
End Sub

Sinon, si tu en as la possibilité (ou alors fais le test sur une copie de ton fichier)
supprimes la feuille sur laquelle sont ces objets récalcitrants
puis insères une nouvelle feuille
Que se passe-t-il si tu essaies d'ajouter un nouveau CommandButton ?
 

jetted

XLDnaute Occasionnel
Re : Ambiguous name detected

Merci Staple1600 pour ta suggestion

Finalement je reuissi a les supprimer en utilisant ceci

Code:
Public Sub ToggleActiveXButtons()
Dim oleobj As OLEObject

For Each oleobj In ActiveSheet.OLEObjects
    If oleobj.progID = "Forms.CommandButton.1" Then
           oleobj.Delete
    End If
Next oleobj
    
End Sub
 

Discussions similaires

Réponses
6
Affichages
878

Statistiques des forums

Discussions
312 217
Messages
2 086 352
Membres
103 195
dernier inscrit
martel.jg