Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2729 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU]Créer ma barre d'outil avec VB

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU]Créer ma barre d'outil avec VB

n°1391528
acorsa
Posté le 20-06-2006 à 15:11:24  profilanswer
 

Bonjour,  
J'ai créé une barre d'outil perso et je dois diffuser ma macro sur pleins de postes dans différents coins du monde...Ma macro est donc constituée de fonctions qui sont accessibles par les boutons de ma barre de menus.
Au début j'avais fais un test ds AutoOpen() genre:  
If toolbar < 1 Then  
  'je créais ma barre  
EndIf
Et dans AutoClose() si toolbar était >1 je l'effaçais ms ça me posais plein de problème dc je voudrais la créer une bonne fois pour toute ds Normal.dot et si les utilisateurs ne veulent plus la voir, ils n'auront qu'à décocher la case ds Outils/Personnaliser comme par exemple la barre d'outil "Standard".
Seulement je sais pas comment faire pour installer ça chez les clients une fois seulement...mettre un bouton qui disparaît ensuite?... ms cmt faire pour que n'arrive qu'une fois?  
Si vous avez une meilleure idée ou une solution à la mienne: je prends!
Merci


Message édité par acorsa le 21-06-2006 à 09:03:34
mood
Publicité
Posté le 20-06-2006 à 15:11:24  profilanswer
 

n°1391863
kiki29
Posté le 20-06-2006 à 23:52:07  profilanswer
 

A titre d'information


'     A Placer dans un Module
Public Sub CreationBO()
Dim BaBar As CommandBar, Btn1, Btn2, Btn3
  'Supprime la barre si elle existe déjà
  On Error Resume Next
    Application.CommandBars("MaBarre" ).Delete
  On Error GoTo 0
   
  'Set BaBar = Application.CommandBars.Add("MaBarre" )
  'BaBar.Left = 50
  'BaBar.Top = 120
  Set BaBar = Application.CommandBars.Add("MaBarre", Position:=msoBarTop, MenuBar:=False, temporary:=True)
  BaBar.Protection = msoBarNoChangeVisible
   
  With BaBar
    Set Btn1 = .Controls.Add(msoControlButton)
    With Btn1
      .Caption = "1er bouton"
      .FaceId = 3
      .OnAction = "Macro1"
    End With
     
    Set Btn2 = .Controls.Add(msoControlButton)
    With Btn2
      .Caption = "2eme bouton"
      .FaceId = 4
      .OnAction = "Macro2"
    End With
     
    Set Btn3 = .Controls.Add(msoControlButton)
    With Btn3
      .Caption = "3eme bouton"
      .FaceId = 2520
      .OnAction = "Macro3"
    End With
    .Visible = True
  End With
End Sub
 
Private Sub Macro1()
  MsgBox "Bouton 1"
End Sub
 
Private Sub Macro2()
  MsgBox "Bouton 2"
End Sub
 
Private Sub Macro3()
  MsgBox "Bouton 3"
End Sub
 
Public Sub DetruireBO()
  On Error Resume Next
  Application.CommandBars("MaBarre" ).Delete
End Sub
 
'     A placer dans ThisWorkBook
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    DetruireBO
End Sub
 
Private Sub Workbook_Open()
    CreationBO
End Sub


Message édité par kiki29 le 21-06-2006 à 02:50:44
n°1391902
acorsa
Posté le 21-06-2006 à 09:03:10  profilanswer
 

Merci beaucoup!!C'est super sympa...
Bonne journée

n°1391972
kiki29
Posté le 21-06-2006 à 10:50:38  profilanswer
 

En complément pour le FaceID
 


Private Sub AfficheIconesBoutons()
Dim NewBO As CommandBar
Dim NewBtn As CommandBarButton
Dim i As Long, IcoDepart As Long, IcoFin As Long
 
  On Error Resume Next
    Application.CommandBars("BarBouton" ).Delete
  On Error GoTo 0
 
  Set NewBO = Application.CommandBars.Add(Name:="BarBouton", temporary:=True)
  NewBO.Visible = True
   
  ' Plage à choisir suivant la patience de l'utilisateur pour affichage
  IcoDepart = 1: IcoFin = 210
 
  For i = IcoDepart To IcoFin
    Set NewBtn = NewBO.Controls.Add(Type:=msoControlButton, ID:=2950)
    With NewBtn
        .FaceId = i
        .Caption = "FaceID = " & i
    End With
  Next i
   
  With NewBO
    .Width = 700
    .Left = 50
    .Top = 120
  End With
End Sub


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU]Créer ma barre d'outil avec VB

 

Sujets relatifs
Créer un formulaire afin d'uploader une image[RESOLU] Problème méthode GET
STL utilisation de merge() pour des listes [resolu][Resolu]Probleme de JScrollPane et JtextArea
[ADO .NET][RESOLU] Remplir un DataGridView avec un Datareader ?[résolu]Probleme sous Visual Studio avec FILE
[PHP] [RESOLU] problème de filtre sur la date dans requête[Resolu] Syntax error, requete mysql depuis java
[RESOLU] Comment reconnaître un apostrophe??? 
Plus de sujets relatifs à : [RESOLU]Créer ma barre d'outil avec VB


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR