Affichage image sur bouton perso

treza88

XLDnaute Occasionnel
Bonjour a tous,


J'utilise le bout de code suivant pour afficher une image sur un bouton qui apparaît dans une barre d'outil:

Code:
With BO
        Set Bouton7 = .Controls.Add(msoControlButton)
        With Bouton7
            .Caption = "Impression feuille de debit cote fini"
            .FaceId = 0
            Worksheets("Paramètre").DrawingObjects("Image 17").Copy
            .PasteFace
            .OnAction = "imp_feuil"
        End With
        .Visible = True
    End With


Par contre en passant par un copier coller, ça me provoque quelques petites perturbations pour l'utilisation du fichier.

Il y a t'il un moyen d'arriver a un résultat similaire sans passer par un copier coller.
Merci d'avance
 

treza88

XLDnaute Occasionnel
Re : Affichage image sur bouton perso

Bonjour Dranreb,

Que veux tu dire par attacher la barre d'outil au classeur, je ne te suis pas sur ta réflexion?

ou si il me semble que 'arrive a te suivre, cela voudrais dire que mes macros de bouton qui sont dans des modules je devrait les basculer en macro complémentaire pour les intégrer dans la barre d'outil.
Et comme cela elle serait chargée a l'ouverture d'Excel
 

Dranreb

XLDnaute Barbatruc
Re : Affichage image sur bouton perso

Non. En Excel 3, Quand on clique droit sur une barre d'outils, puis dernière option Personnaliser… il vient la forme Personnalisation. Celle ci est munie de 5 boutons. Le dernier c'est Attacher…
 

treza88

XLDnaute Occasionnel
Re : Affichage image sur bouton perso

Oui mais la barre d'outil il faut bien la créer, et pour la créer je vais devoir passer par des macros complémentaires, car je ne peux plus les laisser le code de mes actions dans le classeur.

A moins que tu vois une autre solution?
 

Dranreb

XLDnaute Barbatruc
Re : Affichage image sur bouton perso

Faites des essais, c'est tout. Vous affectez bien à votre bouton une macro que vous gardez toujours au même endroit quelque part. Eh bien quand vous cliquez sur le bouton elle s'exécute, point final. Le mieux c'est d'attacher la barre d'outils au classeur qui contient ces macros. Mais si vous voulez pouvoir la supprimer en tant que barre d'outils personnalisée, il faudra l'ouvrir manuellement pour qu'elle se réinstalle du fait qu'elle y sera attachée.
 
Dernière édition:

treza88

XLDnaute Occasionnel
Re : Affichage image sur bouton perso

Bonjour a tous

Voila j'ai fait quelques essais, j'ai créer ma barre d'outil affecter aux boutons mes macros contenu dans un fichier barre outil.xls qui est enregistré a un endroit precis.
Jusque la tous va bien, mais la ou cela ne me va plus c'est que le classeur qui contient les macro s'ouvre et apparait dans la barre de tache, chose que je ne veux pas.

Il y a t il un moyen d'acceder aux macro sans qu'il y ai ouverture du classeur, c'est a dire que ce soit completement transparent?
Ou alors que les macro soit chargé a l'ouverture d'excel sans avoir un classeur specifique qui s'ouvre.
 

treza88

XLDnaute Occasionnel
Re : Affichage image sur bouton perso

Bonjour a tous

Je revient sur le fil pour amener mes dernieres précisions .

Le fait d'attacher la barre d'outil au classeur, fait que ma barre d'outil est constamment visible quelque soit le classeur ouvert, et la ce n’est pas ce que je recherche car la barre ne doit apparaitre que avec un certain classeur et pas les autres.
Donc cette solution ne me convient pas exactement.

Par contre en cherchant sur différent site j'ai trouvé ceci qui me convient mieux, car j'ai des fichiers dans un dossier spécifique, ou je peux y déposer mes icones.


Code:
With BO
        Set Bouton7 = .Controls.Add(msoControlButton)
        With Bouton7
            .Caption = "Impression feuille de debit cote fini"
            .FaceId = 0
            .Picture = LoadPicture("G:\Ico_Imprim.bmp")
            .OnAction = "imp_feuil"
        End With
        .Visible = True
    End With

Et de ce fait la je n'ai plus le copier coller, et donc apparemment plus de perturbation avec.

Sinon merci Dranreb pour la propriété IsAddin que j'ai reutilisé pour un classeur qui me sert de base de données, du coup on ne voit plus le classeur s'ouvrir et se refermer comme avec:

Code:
Windows(ActiveWorkbook.Name).Visible = False

C'est beaucoup plus transparent.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 243
Membres
103 497
dernier inscrit
JP9231