Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ambiguous name detected

  • Initiateur de la discussion Initiateur de la discussion jetted
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
Re : Ambiguous name detected

merci Chris je suis a la maison je regarde le tout au bureau, mais de memoire je crois que non. Plus que je pense, plus je crois que le boutton est cacher et non supprimer.

bonne soiree
 
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
 
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 ?
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
1 K
G
Réponses
1
Affichages
935
GIllou
G
G
Réponses
0
Affichages
928
Gillou
G
Réponses
2
Affichages
785
GHISLAIN
G
G
Réponses
13
Affichages
3 K
W
Réponses
1
Affichages
755
@+Thierry
@
J
Réponses
1
Affichages
2 K
S
N
Réponses
5
Affichages
1 K
nebucad
N
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…