OVH Cloud OVH Cloud

probleme de test si control initialiser ou non

7 réponses
Avatar
david
Bonsoir a tous :)

Voila surement une question bête mais comme je trouve pas la solution ...

comment tester si un objet a été initialiser ou non ?

dans mon cas je cherche si un element de menu existe et si non je souhaite
le créer

Private Sub Workbook_Open()
Dim MyApp As Application
Dim MyControl As CommandBarButton

Set MyApp = Application
Set MyControl =
MyApp.CommandBars.Item("Edit").FindControl(Tag:="MyControlCasse")
If IsNull(MyControl) = True Then ----------> c'est la que ca marche pas :)
Set MyControl =
MyApp.CommandBars.Item("Edit").Controls.Add(Type:=msoControlButton,
before:=9)
With MyControl
.Caption = "Modifier la casse :)"
.OnAction = "MacroMetrreEnMaj"
.Tag = "MyControlCasse"

End With
End If
End Sub

Merci d'avance pour votre aide

7 réponses

Avatar
Philippe.R
Bonsoir David,
Une solution classique pour vérifier qu'un objet quelconque existe consiste à l'activer ; une erreur est
signalée dans le cas d'inexistence et il suffit de gérer cette erreur en créant l'objet à ce moment là.
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"david" a écrit dans le message de
news:
Bonsoir a tous :)

Voila surement une question bête mais comme je trouve pas la solution ...

comment tester si un objet a été initialiser ou non ?

dans mon cas je cherche si un element de menu existe et si non je souhaite
le créer

Private Sub Workbook_Open()
Dim MyApp As Application
Dim MyControl As CommandBarButton

Set MyApp = Application
Set MyControl > MyApp.CommandBars.Item("Edit").FindControl(Tag:="MyControlCasse")
If IsNull(MyControl) = True Then ----------> c'est la que ca marche pas :)
Set MyControl > MyApp.CommandBars.Item("Edit").Controls.Add(Type:=msoControlButton,
before:=9)
With MyControl
.Caption = "Modifier la casse :)"
.OnAction = "MacroMetrreEnMaj"
.Tag = "MyControlCasse"

End With
End If
End Sub

Merci d'avance pour votre aide




Avatar
Frédéric Sigonneau
Bonsoir,

Une solution possible :

On Error resume Next
Set MyControl = _
MyApp.CommandBars.Item("Edit").FindControl(Tag:="MyControlCasse")
If MyControl Is Nothing Then
etc..

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonsoir a tous :)

Voila surement une question bête mais comme je trouve pas la solution ...

comment tester si un objet a été initialiser ou non ?

dans mon cas je cherche si un element de menu existe et si non je souhaite
le créer

Private Sub Workbook_Open()
Dim MyApp As Application
Dim MyControl As CommandBarButton

Set MyApp = Application
Set MyControl > MyApp.CommandBars.Item("Edit").FindControl(Tag:="MyControlCasse")
If IsNull(MyControl) = True Then ----------> c'est la que ca marche pas :)
Set MyControl > MyApp.CommandBars.Item("Edit").Controls.Add(Type:=msoControlButton,
before:=9)
With MyControl
.Caption = "Modifier la casse :)"
.OnAction = "MacroMetrreEnMaj"
.Tag = "MyControlCasse"

End With
End If
End Sub

Merci d'avance pour votre aide


Avatar
david
Super merci Frédéric c'est la solution que je cherchais (je ne connaissais
pas le test "is nothing")et merci a philippe pour sa réponse aussi :)
Joyeux noël a tous et encore merci
David
"Frédéric Sigonneau" a écrit dans le message
de news:
Bonsoir,

Une solution possible :

On Error resume Next
Set MyControl = _
MyApp.CommandBars.Item("Edit").FindControl(Tag:="MyControlCasse")
If MyControl Is Nothing Then
etc..

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonsoir a tous :)

Voila surement une question bête mais comme je trouve pas la solution
...



comment tester si un objet a été initialiser ou non ?

dans mon cas je cherche si un element de menu existe et si non je
souhaite


le créer

Private Sub Workbook_Open()
Dim MyApp As Application
Dim MyControl As CommandBarButton

Set MyApp = Application
Set MyControl > > MyApp.CommandBars.Item("Edit").FindControl(Tag:="MyControlCasse")
If IsNull(MyControl) = True Then ----------> c'est la que ca marche pas
:)


Set MyControl > > MyApp.CommandBars.Item("Edit").Controls.Add(Type:=msoControlButton,
before:=9)
With MyControl
.Caption = "Modifier la casse :)"
.OnAction = "MacroMetrreEnMaj"
.Tag = "MyControlCasse"

End With
End If
End Sub

Merci d'avance pour votre aide





Avatar
sabatier
'tain, david, t'es sympa de ne pas avoir oublié philippe dans tes
remerciements ; il va les mettre avec les autres dans ses petits
souliers et je vois déjà son visage ébaubi le 25 au matin...
jps

david a écrit:
Super merci Frédéric c'est la solution que je cherchais (je ne connaissais
pas le test "is nothing")et merci a philippe pour sa réponse aussi :)
Joyeux noël a tous et encore merci
David
"Frédéric Sigonneau" a écrit dans le message
de news:

Bonsoir,

Une solution possible :

On Error resume Next
Set MyControl = _
MyApp.CommandBars.Item("Edit").FindControl(Tag:="MyControlCasse")
If MyControl Is Nothing Then
etc..

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonsoir a tous :)

Voila surement une question bête mais comme je trouve pas la solution


....


comment tester si un objet a été initialiser ou non ?

dans mon cas je cherche si un element de menu existe et si non je


souhaite


le créer

Private Sub Workbook_Open()
Dim MyApp As Application
Dim MyControl As CommandBarButton

Set MyApp = Application
Set MyControl >>>MyApp.CommandBars.Item("Edit").FindControl(Tag:="MyControlCasse")
If IsNull(MyControl) = True Then ----------> c'est la que ca marche pas


:)


Set MyControl >>>MyApp.CommandBars.Item("Edit").Controls.Add(Type:=msoControlButton,
before:=9)
With MyControl
.Caption = "Modifier la casse :)"
.OnAction = "MacroMetrreEnMaj"
.Tag = "MyControlCasse"

End With
End If
End Sub

Merci d'avance pour votre aide









Avatar
Philippe.R
Bonjour Jean Paul,
il va les mettre avec les autres dans ses petits
souliers et je vois déjà son visage ébaubi le 25 au matin...


Pis même qu'avec les tiens en plus de tous les autres, je ne suis pas certain d'avoir la place de garder
le sapin !
--
Amicales Salutations

Retirer A_S_ pour répondre.

"sabatier" a écrit dans le message de news:
'tain, david, t'es sympa de ne pas avoir oublié philippe dans tes
remerciements ; il va les mettre avec les autres dans ses petits
souliers et je vois déjà son visage ébaubi le 25 au matin...
jps

david a écrit:
Super merci Frédéric c'est la solution que je cherchais (je ne connaissais
pas le test "is nothing")et merci a philippe pour sa réponse aussi :)
Joyeux noël a tous et encore merci
David
"Frédéric Sigonneau" a écrit dans le message
de news:

Bonsoir,

Une solution possible :

On Error resume Next
Set MyControl = _
MyApp.CommandBars.Item("Edit").FindControl(Tag:="MyControlCasse")
If MyControl Is Nothing Then
etc..

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonsoir a tous :)

Voila surement une question bête mais comme je trouve pas la solution


....


comment tester si un objet a été initialiser ou non ?

dans mon cas je cherche si un element de menu existe et si non je


souhaite


le créer

Private Sub Workbook_Open()
Dim MyApp As Application
Dim MyControl As CommandBarButton

Set MyApp = Application
Set MyControl > >>>MyApp.CommandBars.Item("Edit").FindControl(Tag:="MyControlCasse")
If IsNull(MyControl) = True Then ----------> c'est la que ca marche pas


:)


Set MyControl > >>>MyApp.CommandBars.Item("Edit").Controls.Add(Type:=msoControlButton,
before:=9)
With MyControl
.Caption = "Modifier la casse :)"
.OnAction = "MacroMetrreEnMaj"
.Tag = "MyControlCasse"

End With
End If
End Sub

Merci d'avance pour votre aide












Avatar
Philippe.R
C'était avec plaisir David !
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"david" <David> a écrit dans le message de news:%
Super merci Frédéric c'est la solution que je cherchais (je ne connaissais
pas le test "is nothing")et merci a philippe pour sa réponse aussi :)
Joyeux noël a tous et encore merci
David
"Frédéric Sigonneau" a écrit dans le message
de news:
Bonsoir,

Une solution possible :

On Error resume Next
Set MyControl = _
MyApp.CommandBars.Item("Edit").FindControl(Tag:="MyControlCasse")
If MyControl Is Nothing Then
etc..

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonsoir a tous :)

Voila surement une question bête mais comme je trouve pas la solution
...



comment tester si un objet a été initialiser ou non ?

dans mon cas je cherche si un element de menu existe et si non je
souhaite


le créer

Private Sub Workbook_Open()
Dim MyApp As Application
Dim MyControl As CommandBarButton

Set MyApp = Application
Set MyControl > > > MyApp.CommandBars.Item("Edit").FindControl(Tag:="MyControlCasse")
If IsNull(MyControl) = True Then ----------> c'est la que ca marche pas
:)


Set MyControl > > > MyApp.CommandBars.Item("Edit").Controls.Add(Type:=msoControlButton,
before:=9)
With MyControl
.Caption = "Modifier la casse :)"
.OnAction = "MacroMetrreEnMaj"
.Tag = "MyControlCasse"

End With
End If
End Sub

Merci d'avance pour votre aide









Avatar
sabatier
:-))))))
jps

"Philippe.R" wrote:

Bonjour Jean Paul,
il va les mettre avec les autres dans ses petits
souliers et je vois déjà son visage ébaubi le 25 au matin...


Pis même qu'avec les tiens en plus de tous les autres, je ne suis pas certain d'avoir la place de garder
le sapin !
--
Amicales Salutations

Retirer A_S_ pour répondre.

"sabatier" a écrit dans le message de news:
'tain, david, t'es sympa de ne pas avoir oublié philippe dans tes
remerciements ; il va les mettre avec les autres dans ses petits
souliers et je vois déjà son visage ébaubi le 25 au matin...
jps

david a écrit:
Super merci Frédéric c'est la solution que je cherchais (je ne connaissais
pas le test "is nothing")et merci a philippe pour sa réponse aussi :)
Joyeux noël a tous et encore merci
David
"Frédéric Sigonneau" a écrit dans le message
de news:

Bonsoir,

Une solution possible :

On Error resume Next
Set MyControl = _
MyApp.CommandBars.Item("Edit").FindControl(Tag:="MyControlCasse")
If MyControl Is Nothing Then
etc..

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonsoir a tous :)

Voila surement une question bête mais comme je trouve pas la solution


....


comment tester si un objet a été initialiser ou non ?

dans mon cas je cherche si un element de menu existe et si non je


souhaite


le créer

Private Sub Workbook_Open()
Dim MyApp As Application
Dim MyControl As CommandBarButton

Set MyApp = Application
Set MyControl > > >>>MyApp.CommandBars.Item("Edit").FindControl(Tag:="MyControlCasse")
If IsNull(MyControl) = True Then ----------> c'est la que ca marche pas


:)


Set MyControl > > >>>MyApp.CommandBars.Item("Edit").Controls.Add(Type:=msoControlButton,
before:=9)
With MyControl
.Caption = "Modifier la casse :)"
.OnAction = "MacroMetrreEnMaj"
.Tag = "MyControlCasse"

End With
End If
End Sub

Merci d'avance pour votre aide