Macro - Création d'une pop up qui dirige vers le bureau
Bonjour,
Je travaille sur une automatisation d'un excel pour traitement de données. Les données proviennent d'un logiciel d'entreprise, qui extrait les données en format xlxs. Je dois donc, à chaque mise à jour des données, les copier et les importer dans l'excel.
Est-il possible de créer un bouton dans mon fichier qui déclenche une pop up raccourci bureau ? Cela me permettrait de directement sélectionner le ficher xlxs téléchargé à partir du logiciel.
merci
Bonjour,
Une piste mais sans être sûr que ce soit ce que tu veux !
A mettre dans un module standard :
Sub MenuPopUp()
Dim Barre As CommandBar
Dim Btn As CommandBarButton
On Error Resume Next
CommandBars("MaBarre").Delete
On Error GoTo 0
Set Barre = CommandBars.Add("MaBarre", msoBarPopup)
With Barre
Set Btn = .Controls.Add(msoControlButton)
With Btn
.OnAction = "Bureau"
.Caption = "&Bureau" 'avec raccourci clavier Maj+B
.FaceId = 23
End With
End With
End Sub
Sub Bureau()
Dim WS As Object
Dim Chemin As String
Set WS = CreateObject("WScript.Shell")
Chemin = WS.SpecialFolders("Desktop") & "\"
With Application.FileDialog(3)
.InitialFileName = Chemin
If .Show = -1 Then Chemin = .SelectedItems(1)
End With
On Error Resume Next
Workbooks.Open Chemin
End Sub
Sub Afficher(Annuler As Boolean)
CommandBars("MaBarre").ShowPopup
Annuler = True
End Sub
A mettre dans le module du classeur (ThisWorkbook) :
Private Sub Workbook_Open()
MenuPopUp 'création de la barre à l'ouverture
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
CommandBars("MaBarre").Delete 'suppression à la fermeture
End Sub
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Afficher Cancel 'affiche la barre au clic droit sur n'importe quelle feuille
End Sub
Bonjour Theze,
Plus de précision sur ce que je veux faire : je recherche à créer une macro qui va automatiquement me créer un raccourci vers un document excel. Ce lien devra se positionner sur le bureau de l'utilisateur !
Pour ta réponse, ça ne marche pas... ou alors je ne suis pas douée ahah
Voilà ma démarche :
- je vais dans développeur puis visual basic
- je crée un UserForm
- je crée un bouton de commande dans mon UserForm
- je copie colle ta programmation dans mon UserForm
Peux-tu éventuellement bien m'expliquer la démarche ?
Je suis jeune débutante ...
Merci beaucoup pour ta réponse !