.Bonsoir,
Un problème que je soumet à votre sagacité.
Ma macro est utilisée sur un réseau, avec plusieurs version d' Excel.
En particulier 2000 ( version 9.0 ) et XP ( version 10.0 )
Bien sûr, certaines méthodes ne sont pas utilisées par la version 9 et
plantent....
Exemple :
Création d'un commandbar, avec un bouton, dont l'image provient d'un
userform.
ça fonctionne en version 10 et pas en 9.
Comment faire car cela plante, dès la compilation ??????
'
'
Dim MaBar As CommandBar
Dim Btn1 As CommandBarButton
Set MaBar = Application.CommandBars.Add("CalenBar")
With MaBar
Set Btn1 = .Controls.Add(msoControlButton) '
With Btn1
.Picture = UFVersion.Image1.Picture
.OnAction = "ARTT" ' Macro à lancer
.Caption = "Lancement de ARTT" ' Texte d'aide
End With
...
...
...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Léo,
Voici une procédure qui devrait s'appliquer sur toutes les versions d'excel. (testé seulement sur excel 2003)
Tu dois insérer ton image à quelque part dans une feuille... quitte à masquer cette dernière. Évidemment, tu devras adapter la procédure en ce qui concerne le nom que tu auras donné à ton image et aussi au nom de la feuille où elle est située.
Si tu tiens à utiliser ta macro, tu peux utiliser ceci pour discriminer la version d'excel qui ouvre le fichier :
If Val(Application.Version) = 10 Then 'Ligne code pour insérer l'image sur le bouton Else ' Non disponible pour excel 9 End If
'----------------------------------- Sub ImageSurBouton_BarreOutils()
Dim Mbar As CommandBar
On Error Resume Next Set Mbar = Application.CommandBars.Add("MaBar") Mbar.Visible = True
With ThisWorkbook With Worksheets("Feuil1") With .Shapes("Image 1") .Copy End With End With End With
With Mbar.Controls.Add(msoControlButton) .Caption = "LanceMacro1" 'Affiche Icône et Texte .Style = msoButtonIconAndCaption 'Colle l'image du presse-papier .PasteFace 'Macro associé au bouton .OnAction = "LaMacro" End With
End Sub '-----------------------------------
Salutations!
"leo" a écrit dans le message de news: 430b866d$0$1007$ .Bonsoir, Un problème que je soumet à votre sagacité.
Ma macro est utilisée sur un réseau, avec plusieurs version d' Excel. En particulier 2000 ( version 9.0 ) et XP ( version 10.0 )
Bien sûr, certaines méthodes ne sont pas utilisées par la version 9 et plantent....
Exemple : Création d'un commandbar, avec un bouton, dont l'image provient d'un userform. ça fonctionne en version 10 et pas en 9.
Comment faire car cela plante, dès la compilation ??????
' ' Dim MaBar As CommandBar Dim Btn1 As CommandBarButton
Set MaBar = Application.CommandBars.Add("CalenBar") With MaBar Set Btn1 = .Controls.Add(msoControlButton) ' With Btn1 .Picture = UFVersion.Image1.Picture .OnAction = "ARTT" ' Macro à lancer .Caption = "Lancement de ARTT" ' Texte d'aide End With ... ... ...
-- Amicalement, Leo
Bonjour Léo,
Voici une procédure qui devrait s'appliquer sur toutes les versions d'excel. (testé seulement sur excel 2003)
Tu dois insérer ton image à quelque part dans une feuille... quitte à masquer cette dernière. Évidemment, tu devras adapter la
procédure en ce qui concerne le nom que tu auras donné à ton image et aussi au nom de la feuille où elle est située.
Si tu tiens à utiliser ta macro, tu peux utiliser ceci pour discriminer la version d'excel qui ouvre le fichier :
If Val(Application.Version) = 10 Then
'Ligne code pour insérer l'image sur le bouton
Else
' Non disponible pour excel 9
End If
'-----------------------------------
Sub ImageSurBouton_BarreOutils()
Dim Mbar As CommandBar
On Error Resume Next
Set Mbar = Application.CommandBars.Add("MaBar")
Mbar.Visible = True
With ThisWorkbook
With Worksheets("Feuil1")
With .Shapes("Image 1")
.Copy
End With
End With
End With
With Mbar.Controls.Add(msoControlButton)
.Caption = "LanceMacro1"
'Affiche Icône et Texte
.Style = msoButtonIconAndCaption
'Colle l'image du presse-papier
.PasteFace
'Macro associé au bouton
.OnAction = "LaMacro"
End With
End Sub
'-----------------------------------
Salutations!
"leo" <giorgi.leonello@wanadoo.fr> a écrit dans le message de news: 430b866d$0$1007$8fcfb975@news.wanadoo.fr...
.Bonsoir,
Un problème que je soumet à votre sagacité.
Ma macro est utilisée sur un réseau, avec plusieurs version d' Excel.
En particulier 2000 ( version 9.0 ) et XP ( version 10.0 )
Bien sûr, certaines méthodes ne sont pas utilisées par la version 9 et
plantent....
Exemple :
Création d'un commandbar, avec un bouton, dont l'image provient d'un
userform.
ça fonctionne en version 10 et pas en 9.
Comment faire car cela plante, dès la compilation ??????
'
'
Dim MaBar As CommandBar
Dim Btn1 As CommandBarButton
Set MaBar = Application.CommandBars.Add("CalenBar")
With MaBar
Set Btn1 = .Controls.Add(msoControlButton) '
With Btn1
.Picture = UFVersion.Image1.Picture
.OnAction = "ARTT" ' Macro à lancer
.Caption = "Lancement de ARTT" ' Texte d'aide
End With
...
...
...
Voici une procédure qui devrait s'appliquer sur toutes les versions d'excel. (testé seulement sur excel 2003)
Tu dois insérer ton image à quelque part dans une feuille... quitte à masquer cette dernière. Évidemment, tu devras adapter la procédure en ce qui concerne le nom que tu auras donné à ton image et aussi au nom de la feuille où elle est située.
Si tu tiens à utiliser ta macro, tu peux utiliser ceci pour discriminer la version d'excel qui ouvre le fichier :
If Val(Application.Version) = 10 Then 'Ligne code pour insérer l'image sur le bouton Else ' Non disponible pour excel 9 End If
'----------------------------------- Sub ImageSurBouton_BarreOutils()
Dim Mbar As CommandBar
On Error Resume Next Set Mbar = Application.CommandBars.Add("MaBar") Mbar.Visible = True
With ThisWorkbook With Worksheets("Feuil1") With .Shapes("Image 1") .Copy End With End With End With
With Mbar.Controls.Add(msoControlButton) .Caption = "LanceMacro1" 'Affiche Icône et Texte .Style = msoButtonIconAndCaption 'Colle l'image du presse-papier .PasteFace 'Macro associé au bouton .OnAction = "LaMacro" End With
End Sub '-----------------------------------
Salutations!
"leo" a écrit dans le message de news: 430b866d$0$1007$ .Bonsoir, Un problème que je soumet à votre sagacité.
Ma macro est utilisée sur un réseau, avec plusieurs version d' Excel. En particulier 2000 ( version 9.0 ) et XP ( version 10.0 )
Bien sûr, certaines méthodes ne sont pas utilisées par la version 9 et plantent....
Exemple : Création d'un commandbar, avec un bouton, dont l'image provient d'un userform. ça fonctionne en version 10 et pas en 9.
Comment faire car cela plante, dès la compilation ??????
' ' Dim MaBar As CommandBar Dim Btn1 As CommandBarButton
Set MaBar = Application.CommandBars.Add("CalenBar") With MaBar Set Btn1 = .Controls.Add(msoControlButton) ' With Btn1 .Picture = UFVersion.Image1.Picture .OnAction = "ARTT" ' Macro à lancer .Caption = "Lancement de ARTT" ' Texte d'aide End With ... ... ...
-- Amicalement, Leo
leo
Bonsoir, Ok cette procédure fonctionnera très bien, mais elle prend l'image dans une feuille.
Ce que je cherche à faire, c' est de prendre l'image dans un userform et dans ce cas, les anciennes versions d'excel plantent à la compilation.
Merci tout de même,
Amicalement, Leo
"michdenis" a écrit dans le message de news:
Bonjour Léo,
Voici une procédure qui devrait s'appliquer sur toutes les versions d'excel. (testé seulement sur excel 2003)
Tu dois insérer ton image à quelque part dans une feuille... quitte à masquer cette dernière. Évidemment, tu devras adapter la
procédure en ce qui concerne le nom que tu auras donné à ton image et aussi au nom de la feuille où elle est située.
Si tu tiens à utiliser ta macro, tu peux utiliser ceci pour discriminer la version d'excel qui ouvre le fichier :
If Val(Application.Version) = 10 Then 'Ligne code pour insérer l'image sur le bouton Else ' Non disponible pour excel 9 End If
'----------------------------------- Sub ImageSurBouton_BarreOutils()
Dim Mbar As CommandBar
On Error Resume Next Set Mbar = Application.CommandBars.Add("MaBar") Mbar.Visible = True
With ThisWorkbook With Worksheets("Feuil1") With .Shapes("Image 1") .Copy End With End With End With
With Mbar.Controls.Add(msoControlButton) .Caption = "LanceMacro1" 'Affiche Icône et Texte .Style = msoButtonIconAndCaption 'Colle l'image du presse-papier .PasteFace 'Macro associé au bouton .OnAction = "LaMacro" End With
End Sub '-----------------------------------
Salutations!
"leo" a écrit dans le message de news: 430b866d$0$1007$
.Bonsoir, Un problème que je soumet à votre sagacité.
Ma macro est utilisée sur un réseau, avec plusieurs version d' Excel. En particulier 2000 ( version 9.0 ) et XP ( version 10.0 )
Bien sûr, certaines méthodes ne sont pas utilisées par la version 9 et plantent....
Exemple : Création d'un commandbar, avec un bouton, dont l'image provient d'un userform. ça fonctionne en version 10 et pas en 9.
Comment faire car cela plante, dès la compilation ??????
' ' Dim MaBar As CommandBar Dim Btn1 As CommandBarButton
Set MaBar = Application.CommandBars.Add("CalenBar") With MaBar Set Btn1 = .Controls.Add(msoControlButton) ' With Btn1 .Picture = UFVersion.Image1.Picture .OnAction = "ARTT" ' Macro à lancer .Caption = "Lancement de ARTT" ' Texte d'aide End With ... ... ...
-- Amicalement, Leo
Bonsoir,
Ok cette procédure fonctionnera très bien, mais elle prend l'image dans une
feuille.
Ce que je cherche à faire, c' est de prendre l'image dans un userform et
dans ce cas, les anciennes versions d'excel plantent à la compilation.
Merci tout de même,
Amicalement,
Leo
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
ewccy0DqFHA.1040@tk2msftngp13.phx.gbl...
Bonjour Léo,
Voici une procédure qui devrait s'appliquer sur toutes les versions
d'excel. (testé seulement sur excel 2003)
Tu dois insérer ton image à quelque part dans une feuille... quitte à
masquer cette dernière. Évidemment, tu devras adapter la
procédure en ce qui concerne le nom que tu auras donné à ton image et
aussi au nom de la feuille où elle est située.
Si tu tiens à utiliser ta macro, tu peux utiliser ceci pour discriminer la
version d'excel qui ouvre le fichier :
If Val(Application.Version) = 10 Then
'Ligne code pour insérer l'image sur le bouton
Else
' Non disponible pour excel 9
End If
'-----------------------------------
Sub ImageSurBouton_BarreOutils()
Dim Mbar As CommandBar
On Error Resume Next
Set Mbar = Application.CommandBars.Add("MaBar")
Mbar.Visible = True
With ThisWorkbook
With Worksheets("Feuil1")
With .Shapes("Image 1")
.Copy
End With
End With
End With
With Mbar.Controls.Add(msoControlButton)
.Caption = "LanceMacro1"
'Affiche Icône et Texte
.Style = msoButtonIconAndCaption
'Colle l'image du presse-papier
.PasteFace
'Macro associé au bouton
.OnAction = "LaMacro"
End With
End Sub
'-----------------------------------
Salutations!
"leo" <giorgi.leonello@wanadoo.fr> a écrit dans le message de news:
430b866d$0$1007$8fcfb975@news.wanadoo.fr...
.Bonsoir,
Un problème que je soumet à votre sagacité.
Ma macro est utilisée sur un réseau, avec plusieurs version d' Excel.
En particulier 2000 ( version 9.0 ) et XP ( version 10.0 )
Bien sûr, certaines méthodes ne sont pas utilisées par la version 9 et
plantent....
Exemple :
Création d'un commandbar, avec un bouton, dont l'image provient d'un
userform.
ça fonctionne en version 10 et pas en 9.
Comment faire car cela plante, dès la compilation ??????
'
'
Dim MaBar As CommandBar
Dim Btn1 As CommandBarButton
Set MaBar = Application.CommandBars.Add("CalenBar")
With MaBar
Set Btn1 = .Controls.Add(msoControlButton) '
With Btn1
.Picture = UFVersion.Image1.Picture
.OnAction = "ARTT" ' Macro à lancer
.Caption = "Lancement de ARTT" ' Texte d'aide
End With
...
...
...
Bonsoir, Ok cette procédure fonctionnera très bien, mais elle prend l'image dans une feuille.
Ce que je cherche à faire, c' est de prendre l'image dans un userform et dans ce cas, les anciennes versions d'excel plantent à la compilation.
Merci tout de même,
Amicalement, Leo
"michdenis" a écrit dans le message de news:
Bonjour Léo,
Voici une procédure qui devrait s'appliquer sur toutes les versions d'excel. (testé seulement sur excel 2003)
Tu dois insérer ton image à quelque part dans une feuille... quitte à masquer cette dernière. Évidemment, tu devras adapter la
procédure en ce qui concerne le nom que tu auras donné à ton image et aussi au nom de la feuille où elle est située.
Si tu tiens à utiliser ta macro, tu peux utiliser ceci pour discriminer la version d'excel qui ouvre le fichier :
If Val(Application.Version) = 10 Then 'Ligne code pour insérer l'image sur le bouton Else ' Non disponible pour excel 9 End If
'----------------------------------- Sub ImageSurBouton_BarreOutils()
Dim Mbar As CommandBar
On Error Resume Next Set Mbar = Application.CommandBars.Add("MaBar") Mbar.Visible = True
With ThisWorkbook With Worksheets("Feuil1") With .Shapes("Image 1") .Copy End With End With End With
With Mbar.Controls.Add(msoControlButton) .Caption = "LanceMacro1" 'Affiche Icône et Texte .Style = msoButtonIconAndCaption 'Colle l'image du presse-papier .PasteFace 'Macro associé au bouton .OnAction = "LaMacro" End With
End Sub '-----------------------------------
Salutations!
"leo" a écrit dans le message de news: 430b866d$0$1007$
.Bonsoir, Un problème que je soumet à votre sagacité.
Ma macro est utilisée sur un réseau, avec plusieurs version d' Excel. En particulier 2000 ( version 9.0 ) et XP ( version 10.0 )
Bien sûr, certaines méthodes ne sont pas utilisées par la version 9 et plantent....
Exemple : Création d'un commandbar, avec un bouton, dont l'image provient d'un userform. ça fonctionne en version 10 et pas en 9.
Comment faire car cela plante, dès la compilation ??????
' ' Dim MaBar As CommandBar Dim Btn1 As CommandBarButton
Set MaBar = Application.CommandBars.Add("CalenBar") With MaBar Set Btn1 = .Controls.Add(msoControlButton) ' With Btn1 .Picture = UFVersion.Image1.Picture .OnAction = "ARTT" ' Macro à lancer .Caption = "Lancement de ARTT" ' Texte d'aide End With ... ... ...