Créer une barre d'ootils Perso avec ouverture de fichier

MJ13

XLDnaute Barbatruc
Bonjour

J'ai trouvé sur le net un code pour créer une barre d'outils perso assez intéressante.
voici le code
Code:
Sub CréeBarreOutils()
'http://www.commentcamarche.net/forum/affich-2342639-excel-vba-probleme-de-creation-de-barres
  On Error Resume Next
  CommandBars("MaBarre").Delete
  On Error GoTo 0
  
  With CommandBars.Add(Name:="MaBarre")
  
    With .Controls.Add(Type:=msoControlButton)
      .OnAction = "MaMacro"                     ' macro à lancer
      .FaceId = 2600                            ' modèle de bouton
      .TooltipText = "Ça fait ci"               ' info bulle
    End With
  
    With .Controls.Add(Type:=msoControlPopup)
      .Caption = "Autre façon de faire"
      .TooltipText = "Texte qu'on veut"
      With .Controls.Add(msoControlButton)
        .TooltipText = "Ça fait ca"             ' info bulle
        .FaceId = 2600                          ' modèle de bouton
        .OnAction = "MonAutreMacro"             ' macro à lancer
        .Caption = "Lancement"                  ' texte de la ligne
      End With
    End With
    
    .Visible = True
  End With
  
End Sub
Sub MaMacro()
  MsgBox "Ça marche !"
End Sub
Sub MonAutreMacro()
  MsgBox "Ça marche aussi!"
End Sub

Je voudrais savoir si on peux affecter à un bouton l'ouverture d'un fichier
par exemple au lieu de
.OnAction = "MaMacro" qui lance la macro MaMacro on aurait un code du genre
.OnAction = open("c:\test\test.xls")

d'avance Merci.
 

RENAUDER

Nous a quitté
Repose en paix
Re : Créer une barre d'ootils Perso avec ouverture de fichier

Bonjour,

Pas testé mais je pense qu'avec soit un :

Workbooks.Open Filename:="C:\Excel\Excel Downloads\Test Listbox.xls"
ou

RetVal = Shell("Excel.EXE C:\Excel\Excel Downloads\Test Listbox.xls", 1)

cela fonctionne
 

RENAUDER

Nous a quitté
Repose en paix
Re : Créer une barre d'ootils Perso avec ouverture de fichier

Bonjour,

Avec la commande Shell que je viens de tester, il semble que l'on soit obligés de mettre le nom court (DOS 8.3) du fichier à ouvrir.

RetVal = Shell("C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE C:\Excel\EXCELD~1\TESTLI~1.XLS", 1)

Un utilitaire pratique pour trouver le nom DOS qui s'appelle Clipname
 

MJ13

XLDnaute Barbatruc
Re : Créer une barre d'ootils Perso avec ouverture de fichier

Bonjour

Et merci Eric de te pencher sur mon problème.

J'ai testé ta première solution qui n'a pas fonctionné mais cela ma inspiré et j'ai trouvé grâce à toi ce code qui fonctione:

.OnAction = "C:\test\test.xls!ouvre"

avec comme macro ouvre

Sub ouvre()
ActiveWindow.ActivateNext
End Sub

Et la, c'est génial, on peut faire des menus en barre d'outils pour ouvrir ses fichiers les plus utiles.
 

RENAUDER

Nous a quitté
Repose en paix
Re : Créer une barre d'ootils Perso avec ouverture de fichier

Bonjour,
Tu peux faire plus simple.
Je me suis crée une barre d'outils perso et j'ai enregistrer le fichier au format xla (macro complémentaire).
J'ai installé cette macro complémentaire dans les macros complémentaires d'Excel (Outils, Macros complémentaires et comme ça, j'ai ma barre d'outils perso sous la main dès l'ouverture d'Excel.

Dans le classeur xla j'ai le code suivant :

Private Sub Workbook_Open()
Call CreateMyCommandBar
End Sub
 

Pièces jointes

  • barre perso.jpg
    barre perso.jpg
    14.4 KB · Affichages: 197
  • barre perso2.jpg
    barre perso2.jpg
    44.5 KB · Affichages: 134
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Créer une barre d'ootils Perso avec ouverture de fichier

Re Bonjour,

Je comprend ton message.

Mais ce que je veux faire, c'est créer, pour une application qui devrait bientôt voir le jour, une barre d'outils avec les fichiers à ouvrir car mon application comportera plusieurs fichiers.

La personne aura le fichier d'installation et pourra automatiquement créer ou supprimer la barre d''outils. J'espère la fournir pour la fin de l'année (c'est bientôt Noël!).
 

MJ13

XLDnaute Barbatruc
Re : Créer une barre d'ootils Perso avec ouverture de fichier

Bonjour à tous.

En reprenant les posts précédents, Je reviens sur ce post pour vous poser une question.

On peu associer à une barre d'outils un bouton avec une macro.
ex:

.OnAction = "MaMacro"


Mais peut-on lié avec .Onaction au bouton de la barre d'outils l'ouverture d'un lien internet, hypertexte ou lancer une application ?

Merci d'avance.
 
Dernière édition:

Discussions similaires