Bonjour
je voudrais qu'a louverture d un fichier le code vba m ajoute une barre
d'outils avec 2007 2008 2009 2010
et lorsque je clik sur une année il mouvre le répertoire de chaque année....
j'aimerais si possible pouvoit configurer moi meme le répertoire de
destination sachant qu'il pourrait changer dans le futur.
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
Hervé
Bonsoir, A mettre dans le module du classeur :
Private Sub Workbook_Open()
CreerBarre
End Sub
'si nécessaire de supprimer à la fermeture Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next Application.CommandBars("MaBarre").Delete On Error GoTo 0
End Sub
A mettre dans un module standard :
Sub CreerBarre()
Dim Barre As CommandBar Dim Ctrl As CommandBarComboBox
'supprime la barre afin de la recréer On Error Resume Next Application.CommandBars("MaBarre").Delete On Error GoTo 0
'ajoute la barre Set Barre = Application.CommandBars.Add("MaBarre", msoBarTop)
With Barre Set Ctrl = .Controls.Add(msoControlDropdown) .Name = "Barre perso" .Visible = True End With
'ajoute un combobox avec les années voulues With Ctrl .AddItem "2007" .AddItem "2008" .AddItem "2009" .AddItem "2010" .OnAction = "OuvrirClasseur" .TooltipText = "Sélectionner une année" End With
Set Barre = Nothing Set Ctrl = Nothing
End Sub
Sub OuvrirClasseur()
Dim Chemin As String Dim Annee As String
'ouvre l'explorateur sur le dossier correspondant With CommandBars.ActionControl Annee = .List(.ListIndex) End With
'si un fichier est choisi, retourne le 'chemin complet (pour le test, un MsgBox) If .SelectedItems.Count = 1 Then 'MsgBox .SelectedItems(1) Workbooks.Open .SelectedItems(1) End If
End With
End Sub
Hervé.
"STEPH B" a écrit dans le message de news:4bbee464$0$2963$
Bonjour je voudrais qu'a louverture d un fichier le code vba m ajoute une barre d'outils avec 2007 2008 2009 2010 et lorsque je clik sur une année il mouvre le répertoire de chaque année....
j'aimerais si possible pouvoit configurer moi meme le répertoire de destination sachant qu'il pourrait changer dans le futur.
merci
Bonsoir,
A mettre dans le module du classeur :
Private Sub Workbook_Open()
CreerBarre
End Sub
'si nécessaire de supprimer à la fermeture
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.CommandBars("MaBarre").Delete
On Error GoTo 0
End Sub
A mettre dans un module standard :
Sub CreerBarre()
Dim Barre As CommandBar
Dim Ctrl As CommandBarComboBox
'supprime la barre afin de la recréer
On Error Resume Next
Application.CommandBars("MaBarre").Delete
On Error GoTo 0
'ajoute la barre
Set Barre = Application.CommandBars.Add("MaBarre", msoBarTop)
With Barre
Set Ctrl = .Controls.Add(msoControlDropdown)
.Name = "Barre perso"
.Visible = True
End With
'ajoute un combobox avec les années voulues
With Ctrl
.AddItem "2007"
.AddItem "2008"
.AddItem "2009"
.AddItem "2010"
.OnAction = "OuvrirClasseur"
.TooltipText = "Sélectionner une année"
End With
Set Barre = Nothing
Set Ctrl = Nothing
End Sub
Sub OuvrirClasseur()
Dim Chemin As String
Dim Annee As String
'ouvre l'explorateur sur le dossier correspondant
With CommandBars.ActionControl
Annee = .List(.ListIndex)
End With
'si un fichier est choisi, retourne le
'chemin complet (pour le test, un MsgBox)
If .SelectedItems.Count = 1 Then
'MsgBox .SelectedItems(1)
Workbooks.Open .SelectedItems(1)
End If
End With
End Sub
Hervé.
"STEPH B" <stephol@prodiag.fr> a écrit dans le message de
news:4bbee464$0$2963$ba4acef3@reader.news.orange.fr...
Bonjour
je voudrais qu'a louverture d un fichier le code vba m ajoute une barre
d'outils avec 2007 2008 2009 2010
et lorsque je clik sur une année il mouvre le répertoire de chaque
année....
j'aimerais si possible pouvoit configurer moi meme le répertoire de
destination sachant qu'il pourrait changer dans le futur.
'si nécessaire de supprimer à la fermeture Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next Application.CommandBars("MaBarre").Delete On Error GoTo 0
End Sub
A mettre dans un module standard :
Sub CreerBarre()
Dim Barre As CommandBar Dim Ctrl As CommandBarComboBox
'supprime la barre afin de la recréer On Error Resume Next Application.CommandBars("MaBarre").Delete On Error GoTo 0
'ajoute la barre Set Barre = Application.CommandBars.Add("MaBarre", msoBarTop)
With Barre Set Ctrl = .Controls.Add(msoControlDropdown) .Name = "Barre perso" .Visible = True End With
'ajoute un combobox avec les années voulues With Ctrl .AddItem "2007" .AddItem "2008" .AddItem "2009" .AddItem "2010" .OnAction = "OuvrirClasseur" .TooltipText = "Sélectionner une année" End With
Set Barre = Nothing Set Ctrl = Nothing
End Sub
Sub OuvrirClasseur()
Dim Chemin As String Dim Annee As String
'ouvre l'explorateur sur le dossier correspondant With CommandBars.ActionControl Annee = .List(.ListIndex) End With
'si un fichier est choisi, retourne le 'chemin complet (pour le test, un MsgBox) If .SelectedItems.Count = 1 Then 'MsgBox .SelectedItems(1) Workbooks.Open .SelectedItems(1) End If
End With
End Sub
Hervé.
"STEPH B" a écrit dans le message de news:4bbee464$0$2963$
Bonjour je voudrais qu'a louverture d un fichier le code vba m ajoute une barre d'outils avec 2007 2008 2009 2010 et lorsque je clik sur une année il mouvre le répertoire de chaque année....
j'aimerais si possible pouvoit configurer moi meme le répertoire de destination sachant qu'il pourrait changer dans le futur.