Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs macros qui
ouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là pas de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls, sans avoir
à créer une nouvelle macro pour aller de ce nouveau classeur au menu et
lycée de Versailles, je souhaiterais créer une macro et une seule qui me
permettrait d'aller d'un classeur à l'autre en posant la question textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs macros qui
ouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là pas de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls, sans avoir
à créer une nouvelle macro pour aller de ce nouveau classeur au menu et
lycée de Versailles, je souhaiterais créer une macro et une seule qui me
permettrait d'aller d'un classeur à l'autre en posant la question textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs macros qui
ouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là pas de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls, sans avoir
à créer une nouvelle macro pour aller de ce nouveau classeur au menu et
lycée de Versailles, je souhaiterais créer une macro et une seule qui me
permettrait d'aller d'un classeur à l'autre en posant la question textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
CTRL F6 le fait déjà !!!
:))
Bye
...Patrick
"Pascale" a écrit dans le message de news:Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs macros
qui
ouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là pas
de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls, sans
avoir
à créer une nouvelle macro pour aller de ce nouveau classeur au menu et
lycée de Versailles, je souhaiterais créer une macro et une seule qui me
permettrait d'aller d'un classeur à l'autre en posant la question
textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
CTRL F6 le fait déjà !!!
:))
Bye
...Patrick
"Pascale" <p.vasnier@tiscali.fr> a écrit dans le message de news:
erewvZ2WDHA.3248@tk2msftngp13.phx.gbl...
Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs macros
qui
ouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là pas
de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls, sans
avoir
à créer une nouvelle macro pour aller de ce nouveau classeur au menu et
lycée de Versailles, je souhaiterais créer une macro et une seule qui me
permettrait d'aller d'un classeur à l'autre en posant la question
textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
CTRL F6 le fait déjà !!!
:))
Bye
...Patrick
"Pascale" a écrit dans le message de news:Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs macros
qui
ouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là pas
de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls, sans
avoir
à créer une nouvelle macro pour aller de ce nouveau classeur au menu et
lycée de Versailles, je souhaiterais créer une macro et une seule qui me
permettrait d'aller d'un classeur à l'autre en posant la question
textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
-----Message d'origine-----
CTRL F6 le fait déjà !!!
:))
Bye
....Patrick
"Pascale" a écrit dans le message
de news:
Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel
j'ai plrs macros qui
ouvrent différents classeurs exemple Budget
Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent
d'aller du menu aux
différents classeurs et des différents classeurs au
Menu. Jusque là pas de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste
Maxime.xls, sans avoir
à créer une nouvelle macro pour aller de ce nouveau
classeur au menu et
lycée de Versailles, je souhaiterais créer une macro et
une seule qui me
permettrait d'aller d'un classeur à l'autre en posant
la question textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
.
-----Message d'origine-----
CTRL F6 le fait déjà !!!
:))
Bye
....Patrick
"Pascale" <p.vasnier@tiscali.fr> a écrit dans le message
de news:
erewvZ2WDHA.3248@tk2msftngp13.phx.gbl...
Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel
j'ai plrs macros qui
ouvrent différents classeurs exemple Budget
Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent
d'aller du menu aux
différents classeurs et des différents classeurs au
Menu. Jusque là pas de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste
Maxime.xls, sans avoir
à créer une nouvelle macro pour aller de ce nouveau
classeur au menu et
lycée de Versailles, je souhaiterais créer une macro et
une seule qui me
permettrait d'aller d'un classeur à l'autre en posant
la question textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
.
-----Message d'origine-----
CTRL F6 le fait déjà !!!
:))
Bye
....Patrick
"Pascale" a écrit dans le message
de news:
Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel
j'ai plrs macros qui
ouvrent différents classeurs exemple Budget
Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent
d'aller du menu aux
différents classeurs et des différents classeurs au
Menu. Jusque là pas de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste
Maxime.xls, sans avoir
à créer une nouvelle macro pour aller de ce nouveau
classeur au menu et
lycée de Versailles, je souhaiterais créer une macro et
une seule qui me
permettrait d'aller d'un classeur à l'autre en posant
la question textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
.
Salut Pascale,
Je pense, mais je peux me tromper, que le plus simple pour toi, serait
d'avoir un combobox et la liste de tous tes classeurs. Il te suffirait
alors
de cliquer sur celui que tu veux activer (ou ouvrir). Un exemple, avec
tout
tes classeurs doivent être dans le même dossier que celui qui contient les
procs ci-dessous (je pense ; Menu.xls). Si tu ajoute un classeur par
macro,
il te suffit, à la fin de celle-ci, de rappeler la proc "Classeurs" pour
recharger ton combo avec le nom du nouveau classeur, seulement il faut que
tu l'enregistre avant sur le disque (se qui est le bon réflexe pour éviter
les pertes de données). Pour le test et afin d'éviter de fermer et
réouvrir
ton classeur, exécute la proc Classeurs (tu positionne le curseur
n'importe
où dans celle-ci et F5). Le combo est supprimé à la fermeture du classeur.
----------------------------------------------------------------A mettre dans un module standard :
Sub Classeurs()
Dim Cmb As CommandBarComboBox
Dim Rf As FileSearch
Dim Tbl() As String
Dim Dossier As String
Dim I As Integer
Application.ScreenUpdating = False
'supprime le menu pour pouvoir le re créer
Suppression
'cherche dans le dossier du classeur
'contenant cette macro
Dossier = "D:" 'ThisWorkbook.Path & ""
Set Rf = Application.FileSearch
With Rf
.NewSearch
.Filename = "*.xls"
.LookIn = Dossier
.SearchSubFolders = False 'True pour les sous-dossiers
.Execute 1, 1
If .Execute > 0 Then
With .FoundFiles
For I = 1 To .Count
ReDim Preserve Tbl(1 To I)
Tbl(I) = Dir(.Item(I))
Next I
End With
End If
End With
Set Cmb = Application.CommandBars("worksheet Menu Bar") _
.Controls.Add(msoControlComboBox)
With Cmb
.Caption = "Classeurs"
.BeginGroup = True
.Width = 150
.OnAction = "OuvrirClasseurs"
.Tag = Dossier
.TooltipText = "Ouvre le classeur !"
If I <> 0 Then
For I = 1 To UBound(Tbl)
.AddItem Tbl(I)
Next I
End If
.ListIndex = 1
End With
Application.ScreenUpdating = True
Set Cmb = Nothing
Set Rf = Nothing
Erase Tbl
End Sub
Sub OuvrirClasseurs()
Dim NomClasseur As String
With CommandBars.ActionControl
NomClasseur = .List(.ListIndex)
On Error Resume Next
Workbooks(NomClasseur).Activate
If Err.Number <> 0 Then
Workbooks.Open .Tag & NomClasseur
End If
End With
End Sub
Sub Suppression()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar") _
.Controls("Classeurs").Delete
End Sub
---------------------------------------------------------------------A mettre dans le module du ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Suppression
End Sub
Private Sub Workbook_Open()
Classeurs
End Sub
Hervé.
"Pascale" a écrit dans le message news:Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs macros
quiouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là pas
de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls, sans
avoirà créer une nouvelle macro pour aller de ce nouveau classeur au menu et
lycée de Versailles, je souhaiterais créer une macro et une seule qui me
permettrait d'aller d'un classeur à l'autre en posant la question
textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
Salut Pascale,
Je pense, mais je peux me tromper, que le plus simple pour toi, serait
d'avoir un combobox et la liste de tous tes classeurs. Il te suffirait
alors
de cliquer sur celui que tu veux activer (ou ouvrir). Un exemple, avec
tout
tes classeurs doivent être dans le même dossier que celui qui contient les
procs ci-dessous (je pense ; Menu.xls). Si tu ajoute un classeur par
macro,
il te suffit, à la fin de celle-ci, de rappeler la proc "Classeurs" pour
recharger ton combo avec le nom du nouveau classeur, seulement il faut que
tu l'enregistre avant sur le disque (se qui est le bon réflexe pour éviter
les pertes de données). Pour le test et afin d'éviter de fermer et
réouvrir
ton classeur, exécute la proc Classeurs (tu positionne le curseur
n'importe
où dans celle-ci et F5). Le combo est supprimé à la fermeture du classeur.
----------------------------------------------------------------
A mettre dans un module standard :
Sub Classeurs()
Dim Cmb As CommandBarComboBox
Dim Rf As FileSearch
Dim Tbl() As String
Dim Dossier As String
Dim I As Integer
Application.ScreenUpdating = False
'supprime le menu pour pouvoir le re créer
Suppression
'cherche dans le dossier du classeur
'contenant cette macro
Dossier = "D:" 'ThisWorkbook.Path & ""
Set Rf = Application.FileSearch
With Rf
.NewSearch
.Filename = "*.xls"
.LookIn = Dossier
.SearchSubFolders = False 'True pour les sous-dossiers
.Execute 1, 1
If .Execute > 0 Then
With .FoundFiles
For I = 1 To .Count
ReDim Preserve Tbl(1 To I)
Tbl(I) = Dir(.Item(I))
Next I
End With
End If
End With
Set Cmb = Application.CommandBars("worksheet Menu Bar") _
.Controls.Add(msoControlComboBox)
With Cmb
.Caption = "Classeurs"
.BeginGroup = True
.Width = 150
.OnAction = "OuvrirClasseurs"
.Tag = Dossier
.TooltipText = "Ouvre le classeur !"
If I <> 0 Then
For I = 1 To UBound(Tbl)
.AddItem Tbl(I)
Next I
End If
.ListIndex = 1
End With
Application.ScreenUpdating = True
Set Cmb = Nothing
Set Rf = Nothing
Erase Tbl
End Sub
Sub OuvrirClasseurs()
Dim NomClasseur As String
With CommandBars.ActionControl
NomClasseur = .List(.ListIndex)
On Error Resume Next
Workbooks(NomClasseur).Activate
If Err.Number <> 0 Then
Workbooks.Open .Tag & NomClasseur
End If
End With
End Sub
Sub Suppression()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar") _
.Controls("Classeurs").Delete
End Sub
---------------------------------------------------------------------
A mettre dans le module du ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Suppression
End Sub
Private Sub Workbook_Open()
Classeurs
End Sub
Hervé.
"Pascale" <p.vasnier@tiscali.fr> a écrit dans le message news:
erewvZ2WDHA.3248@tk2msftngp13.phx.gbl...
Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs macros
qui
ouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là pas
de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls, sans
avoir
à créer une nouvelle macro pour aller de ce nouveau classeur au menu et
lycée de Versailles, je souhaiterais créer une macro et une seule qui me
permettrait d'aller d'un classeur à l'autre en posant la question
textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
Salut Pascale,
Je pense, mais je peux me tromper, que le plus simple pour toi, serait
d'avoir un combobox et la liste de tous tes classeurs. Il te suffirait
alors
de cliquer sur celui que tu veux activer (ou ouvrir). Un exemple, avec
tout
tes classeurs doivent être dans le même dossier que celui qui contient les
procs ci-dessous (je pense ; Menu.xls). Si tu ajoute un classeur par
macro,
il te suffit, à la fin de celle-ci, de rappeler la proc "Classeurs" pour
recharger ton combo avec le nom du nouveau classeur, seulement il faut que
tu l'enregistre avant sur le disque (se qui est le bon réflexe pour éviter
les pertes de données). Pour le test et afin d'éviter de fermer et
réouvrir
ton classeur, exécute la proc Classeurs (tu positionne le curseur
n'importe
où dans celle-ci et F5). Le combo est supprimé à la fermeture du classeur.
----------------------------------------------------------------A mettre dans un module standard :
Sub Classeurs()
Dim Cmb As CommandBarComboBox
Dim Rf As FileSearch
Dim Tbl() As String
Dim Dossier As String
Dim I As Integer
Application.ScreenUpdating = False
'supprime le menu pour pouvoir le re créer
Suppression
'cherche dans le dossier du classeur
'contenant cette macro
Dossier = "D:" 'ThisWorkbook.Path & ""
Set Rf = Application.FileSearch
With Rf
.NewSearch
.Filename = "*.xls"
.LookIn = Dossier
.SearchSubFolders = False 'True pour les sous-dossiers
.Execute 1, 1
If .Execute > 0 Then
With .FoundFiles
For I = 1 To .Count
ReDim Preserve Tbl(1 To I)
Tbl(I) = Dir(.Item(I))
Next I
End With
End If
End With
Set Cmb = Application.CommandBars("worksheet Menu Bar") _
.Controls.Add(msoControlComboBox)
With Cmb
.Caption = "Classeurs"
.BeginGroup = True
.Width = 150
.OnAction = "OuvrirClasseurs"
.Tag = Dossier
.TooltipText = "Ouvre le classeur !"
If I <> 0 Then
For I = 1 To UBound(Tbl)
.AddItem Tbl(I)
Next I
End If
.ListIndex = 1
End With
Application.ScreenUpdating = True
Set Cmb = Nothing
Set Rf = Nothing
Erase Tbl
End Sub
Sub OuvrirClasseurs()
Dim NomClasseur As String
With CommandBars.ActionControl
NomClasseur = .List(.ListIndex)
On Error Resume Next
Workbooks(NomClasseur).Activate
If Err.Number <> 0 Then
Workbooks.Open .Tag & NomClasseur
End If
End With
End Sub
Sub Suppression()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar") _
.Controls("Classeurs").Delete
End Sub
---------------------------------------------------------------------A mettre dans le module du ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Suppression
End Sub
Private Sub Workbook_Open()
Classeurs
End Sub
Hervé.
"Pascale" a écrit dans le message news:Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs macros
quiouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là pas
de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls, sans
avoirà créer une nouvelle macro pour aller de ce nouveau classeur au menu et
lycée de Versailles, je souhaiterais créer une macro et une seule qui me
permettrait d'aller d'un classeur à l'autre en posant la question
textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
Oups,
Une petite erreur suite au tests à la ligne "Dossier = >D:"
'ThisWorkbook.Path & ""< le >D:" '< doit être supprimé pour permettre
de
récupérer le chemin du classeur.
Désolé.
Hervé.
"Hervé" a écrit dans le message news:Salut Pascale,
Je pense, mais je peux me tromper, que le plus simple pour toi, serait
d'avoir un combobox et la liste de tous tes classeurs. Il te suffirait
alorsde cliquer sur celui que tu veux activer (ou ouvrir). Un exemple, avec
touttes classeurs doivent être dans le même dossier que celui qui contient
les
procs ci-dessous (je pense ; Menu.xls). Si tu ajoute un classeur par
macro,il te suffit, à la fin de celle-ci, de rappeler la proc "Classeurs" pour
recharger ton combo avec le nom du nouveau classeur, seulement il faut
que
tu l'enregistre avant sur le disque (se qui est le bon réflexe pour
éviter
les pertes de données). Pour le test et afin d'éviter de fermer et
réouvrirton classeur, exécute la proc Classeurs (tu positionne le curseur
n'importeoù dans celle-ci et F5). Le combo est supprimé à la fermeture du
classeur.
----------------------------------------------------------------A mettre dans un module standard :
Sub Classeurs()
Dim Cmb As CommandBarComboBox
Dim Rf As FileSearch
Dim Tbl() As String
Dim Dossier As String
Dim I As Integer
Application.ScreenUpdating = False
'supprime le menu pour pouvoir le re créer
Suppression
'cherche dans le dossier du classeur
'contenant cette macro
Dossier = "D:" 'ThisWorkbook.Path & ""
Set Rf = Application.FileSearch
With Rf
.NewSearch
.Filename = "*.xls"
.LookIn = Dossier
.SearchSubFolders = False 'True pour les sous-dossiers
.Execute 1, 1
If .Execute > 0 Then
With .FoundFiles
For I = 1 To .Count
ReDim Preserve Tbl(1 To I)
Tbl(I) = Dir(.Item(I))
Next I
End With
End If
End With
Set Cmb = Application.CommandBars("worksheet Menu Bar") _
.Controls.Add(msoControlComboBox)
With Cmb
.Caption = "Classeurs"
.BeginGroup = True
.Width = 150
.OnAction = "OuvrirClasseurs"
.Tag = Dossier
.TooltipText = "Ouvre le classeur !"
If I <> 0 Then
For I = 1 To UBound(Tbl)
.AddItem Tbl(I)
Next I
End If
.ListIndex = 1
End With
Application.ScreenUpdating = True
Set Cmb = Nothing
Set Rf = Nothing
Erase Tbl
End Sub
Sub OuvrirClasseurs()
Dim NomClasseur As String
With CommandBars.ActionControl
NomClasseur = .List(.ListIndex)
On Error Resume Next
Workbooks(NomClasseur).Activate
If Err.Number <> 0 Then
Workbooks.Open .Tag & NomClasseur
End If
End With
End Sub
Sub Suppression()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar") _
.Controls("Classeurs").Delete
End Sub
---------------------------------------------------------------------A mettre dans le module du ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Suppression
End Sub
Private Sub Workbook_Open()
Classeurs
End Sub
Hervé.
"Pascale" a écrit dans le message news:Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs
macros
quiouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là
pas
deproblème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls, sans
avoirà créer une nouvelle macro pour aller de ce nouveau classeur au menu
et
lycée de Versailles, je souhaiterais créer une macro et une seule qui
me
permettrait d'aller d'un classeur à l'autre en posant la question
textbox"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
Oups,
Une petite erreur suite au tests à la ligne "Dossier = >D:"
'ThisWorkbook.Path & ""< le >D:" '< doit être supprimé pour permettre
de
récupérer le chemin du classeur.
Désolé.
Hervé.
"Hervé" <hmsilve@wanadoo.fr> a écrit dans le message news:
uzX79k4WDHA.216@TK2MSFTNGP11.phx.gbl...
Salut Pascale,
Je pense, mais je peux me tromper, que le plus simple pour toi, serait
d'avoir un combobox et la liste de tous tes classeurs. Il te suffirait
alors
de cliquer sur celui que tu veux activer (ou ouvrir). Un exemple, avec
tout
tes classeurs doivent être dans le même dossier que celui qui contient
les
procs ci-dessous (je pense ; Menu.xls). Si tu ajoute un classeur par
macro,
il te suffit, à la fin de celle-ci, de rappeler la proc "Classeurs" pour
recharger ton combo avec le nom du nouveau classeur, seulement il faut
que
tu l'enregistre avant sur le disque (se qui est le bon réflexe pour
éviter
les pertes de données). Pour le test et afin d'éviter de fermer et
réouvrir
ton classeur, exécute la proc Classeurs (tu positionne le curseur
n'importe
où dans celle-ci et F5). Le combo est supprimé à la fermeture du
classeur.
----------------------------------------------------------------
A mettre dans un module standard :
Sub Classeurs()
Dim Cmb As CommandBarComboBox
Dim Rf As FileSearch
Dim Tbl() As String
Dim Dossier As String
Dim I As Integer
Application.ScreenUpdating = False
'supprime le menu pour pouvoir le re créer
Suppression
'cherche dans le dossier du classeur
'contenant cette macro
Dossier = "D:" 'ThisWorkbook.Path & ""
Set Rf = Application.FileSearch
With Rf
.NewSearch
.Filename = "*.xls"
.LookIn = Dossier
.SearchSubFolders = False 'True pour les sous-dossiers
.Execute 1, 1
If .Execute > 0 Then
With .FoundFiles
For I = 1 To .Count
ReDim Preserve Tbl(1 To I)
Tbl(I) = Dir(.Item(I))
Next I
End With
End If
End With
Set Cmb = Application.CommandBars("worksheet Menu Bar") _
.Controls.Add(msoControlComboBox)
With Cmb
.Caption = "Classeurs"
.BeginGroup = True
.Width = 150
.OnAction = "OuvrirClasseurs"
.Tag = Dossier
.TooltipText = "Ouvre le classeur !"
If I <> 0 Then
For I = 1 To UBound(Tbl)
.AddItem Tbl(I)
Next I
End If
.ListIndex = 1
End With
Application.ScreenUpdating = True
Set Cmb = Nothing
Set Rf = Nothing
Erase Tbl
End Sub
Sub OuvrirClasseurs()
Dim NomClasseur As String
With CommandBars.ActionControl
NomClasseur = .List(.ListIndex)
On Error Resume Next
Workbooks(NomClasseur).Activate
If Err.Number <> 0 Then
Workbooks.Open .Tag & NomClasseur
End If
End With
End Sub
Sub Suppression()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar") _
.Controls("Classeurs").Delete
End Sub
---------------------------------------------------------------------
A mettre dans le module du ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Suppression
End Sub
Private Sub Workbook_Open()
Classeurs
End Sub
Hervé.
"Pascale" <p.vasnier@tiscali.fr> a écrit dans le message news:
erewvZ2WDHA.3248@tk2msftngp13.phx.gbl...
Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs
macros
qui
ouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là
pas
de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls, sans
avoir
à créer une nouvelle macro pour aller de ce nouveau classeur au menu
et
lycée de Versailles, je souhaiterais créer une macro et une seule qui
me
permettrait d'aller d'un classeur à l'autre en posant la question
textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
Oups,
Une petite erreur suite au tests à la ligne "Dossier = >D:"
'ThisWorkbook.Path & ""< le >D:" '< doit être supprimé pour permettre
de
récupérer le chemin du classeur.
Désolé.
Hervé.
"Hervé" a écrit dans le message news:Salut Pascale,
Je pense, mais je peux me tromper, que le plus simple pour toi, serait
d'avoir un combobox et la liste de tous tes classeurs. Il te suffirait
alorsde cliquer sur celui que tu veux activer (ou ouvrir). Un exemple, avec
touttes classeurs doivent être dans le même dossier que celui qui contient
les
procs ci-dessous (je pense ; Menu.xls). Si tu ajoute un classeur par
macro,il te suffit, à la fin de celle-ci, de rappeler la proc "Classeurs" pour
recharger ton combo avec le nom du nouveau classeur, seulement il faut
que
tu l'enregistre avant sur le disque (se qui est le bon réflexe pour
éviter
les pertes de données). Pour le test et afin d'éviter de fermer et
réouvrirton classeur, exécute la proc Classeurs (tu positionne le curseur
n'importeoù dans celle-ci et F5). Le combo est supprimé à la fermeture du
classeur.
----------------------------------------------------------------A mettre dans un module standard :
Sub Classeurs()
Dim Cmb As CommandBarComboBox
Dim Rf As FileSearch
Dim Tbl() As String
Dim Dossier As String
Dim I As Integer
Application.ScreenUpdating = False
'supprime le menu pour pouvoir le re créer
Suppression
'cherche dans le dossier du classeur
'contenant cette macro
Dossier = "D:" 'ThisWorkbook.Path & ""
Set Rf = Application.FileSearch
With Rf
.NewSearch
.Filename = "*.xls"
.LookIn = Dossier
.SearchSubFolders = False 'True pour les sous-dossiers
.Execute 1, 1
If .Execute > 0 Then
With .FoundFiles
For I = 1 To .Count
ReDim Preserve Tbl(1 To I)
Tbl(I) = Dir(.Item(I))
Next I
End With
End If
End With
Set Cmb = Application.CommandBars("worksheet Menu Bar") _
.Controls.Add(msoControlComboBox)
With Cmb
.Caption = "Classeurs"
.BeginGroup = True
.Width = 150
.OnAction = "OuvrirClasseurs"
.Tag = Dossier
.TooltipText = "Ouvre le classeur !"
If I <> 0 Then
For I = 1 To UBound(Tbl)
.AddItem Tbl(I)
Next I
End If
.ListIndex = 1
End With
Application.ScreenUpdating = True
Set Cmb = Nothing
Set Rf = Nothing
Erase Tbl
End Sub
Sub OuvrirClasseurs()
Dim NomClasseur As String
With CommandBars.ActionControl
NomClasseur = .List(.ListIndex)
On Error Resume Next
Workbooks(NomClasseur).Activate
If Err.Number <> 0 Then
Workbooks.Open .Tag & NomClasseur
End If
End With
End Sub
Sub Suppression()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar") _
.Controls("Classeurs").Delete
End Sub
---------------------------------------------------------------------A mettre dans le module du ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Suppression
End Sub
Private Sub Workbook_Open()
Classeurs
End Sub
Hervé.
"Pascale" a écrit dans le message news:Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs
macros
quiouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là
pas
deproblème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls, sans
avoirà créer une nouvelle macro pour aller de ce nouveau classeur au menu
et
lycée de Versailles, je souhaiterais créer une macro et une seule qui
me
permettrait d'aller d'un classeur à l'autre en posant la question
textbox"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
Merci beaucoup pour ton aide, cela fonctionne à merveille, je t'avoue ne
pas
comprendre toute la procédure, j'avais oublié de signaler que j'étais une
débutante en VBA. Pourrais-tu me conseiller un site où l'on explique le
Combobox je suis allé sur l'aide VBA mais les explications sont sommaires
et
compliquées pour une débutante.
merci Pascale
"Hervé" a écrit dans le message de news:Oups,
Une petite erreur suite au tests à la ligne "Dossier = >D:"
'ThisWorkbook.Path & ""< le >D:" '< doit être supprimé pour permettre
derécupérer le chemin du classeur.
Désolé.
Hervé.
"Hervé" a écrit dans le message news:Salut Pascale,
Je pense, mais je peux me tromper, que le plus simple pour toi, serait
d'avoir un combobox et la liste de tous tes classeurs. Il te suffirait
alorsde cliquer sur celui que tu veux activer (ou ouvrir). Un exemple, avec
touttes classeurs doivent être dans le même dossier que celui qui contient
lesprocs ci-dessous (je pense ; Menu.xls). Si tu ajoute un classeur par
macro,il te suffit, à la fin de celle-ci, de rappeler la proc "Classeurs"
pour
recharger ton combo avec le nom du nouveau classeur, seulement il faut
quetu l'enregistre avant sur le disque (se qui est le bon réflexe pour
éviterles pertes de données). Pour le test et afin d'éviter de fermer et
réouvrirton classeur, exécute la proc Classeurs (tu positionne le curseur
n'importeoù dans celle-ci et F5). Le combo est supprimé à la fermeture du
classeur.
----------------------------------------------------------------A mettre dans un module standard :
Sub Classeurs()
Dim Cmb As CommandBarComboBox
Dim Rf As FileSearch
Dim Tbl() As String
Dim Dossier As String
Dim I As Integer
Application.ScreenUpdating = False
'supprime le menu pour pouvoir le re créer
Suppression
'cherche dans le dossier du classeur
'contenant cette macro
Dossier = "D:" 'ThisWorkbook.Path & ""
Set Rf = Application.FileSearch
With Rf
.NewSearch
.Filename = "*.xls"
.LookIn = Dossier
.SearchSubFolders = False 'True pour les sous-dossiers
.Execute 1, 1
If .Execute > 0 Then
With .FoundFiles
For I = 1 To .Count
ReDim Preserve Tbl(1 To I)
Tbl(I) = Dir(.Item(I))
Next I
End With
End If
End With
Set Cmb = Application.CommandBars("worksheet Menu Bar") _
.Controls.Add(msoControlComboBox)
With Cmb
.Caption = "Classeurs"
.BeginGroup = True
.Width = 150
.OnAction = "OuvrirClasseurs"
.Tag = Dossier
.TooltipText = "Ouvre le classeur !"
If I <> 0 Then
For I = 1 To UBound(Tbl)
.AddItem Tbl(I)
Next I
End If
.ListIndex = 1
End With
Application.ScreenUpdating = True
Set Cmb = Nothing
Set Rf = Nothing
Erase Tbl
End Sub
Sub OuvrirClasseurs()
Dim NomClasseur As String
With CommandBars.ActionControl
NomClasseur = .List(.ListIndex)
On Error Resume Next
Workbooks(NomClasseur).Activate
If Err.Number <> 0 Then
Workbooks.Open .Tag & NomClasseur
End If
End With
End Sub
Sub Suppression()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar") _
.Controls("Classeurs").Delete
End Sub
---------------------------------------------------------------------A mettre dans le module du ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Suppression
End Sub
Private Sub Workbook_Open()
Classeurs
End Sub
Hervé.
"Pascale" a écrit dans le message news:Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs
macrosquiouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là
pasdeproblème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls,
sans
avoirà créer une nouvelle macro pour aller de ce nouveau classeur au menu
etlycée de Versailles, je souhaiterais créer une macro et une seule
qui
mepermettrait d'aller d'un classeur à l'autre en posant la question
textbox"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
Merci beaucoup pour ton aide, cela fonctionne à merveille, je t'avoue ne
pas
comprendre toute la procédure, j'avais oublié de signaler que j'étais une
débutante en VBA. Pourrais-tu me conseiller un site où l'on explique le
Combobox je suis allé sur l'aide VBA mais les explications sont sommaires
et
compliquées pour une débutante.
merci Pascale
"Hervé" <hmsilve@wanadoo.fr> a écrit dans le message de news:
eL9i0n4WDHA.1812@TK2MSFTNGP11.phx.gbl...
Oups,
Une petite erreur suite au tests à la ligne "Dossier = >D:"
'ThisWorkbook.Path & ""< le >D:" '< doit être supprimé pour permettre
de
récupérer le chemin du classeur.
Désolé.
Hervé.
"Hervé" <hmsilve@wanadoo.fr> a écrit dans le message news:
uzX79k4WDHA.216@TK2MSFTNGP11.phx.gbl...
Salut Pascale,
Je pense, mais je peux me tromper, que le plus simple pour toi, serait
d'avoir un combobox et la liste de tous tes classeurs. Il te suffirait
alors
de cliquer sur celui que tu veux activer (ou ouvrir). Un exemple, avec
tout
tes classeurs doivent être dans le même dossier que celui qui contient
les
procs ci-dessous (je pense ; Menu.xls). Si tu ajoute un classeur par
macro,
il te suffit, à la fin de celle-ci, de rappeler la proc "Classeurs"
pour
recharger ton combo avec le nom du nouveau classeur, seulement il faut
que
tu l'enregistre avant sur le disque (se qui est le bon réflexe pour
éviter
les pertes de données). Pour le test et afin d'éviter de fermer et
réouvrir
ton classeur, exécute la proc Classeurs (tu positionne le curseur
n'importe
où dans celle-ci et F5). Le combo est supprimé à la fermeture du
classeur.
----------------------------------------------------------------
A mettre dans un module standard :
Sub Classeurs()
Dim Cmb As CommandBarComboBox
Dim Rf As FileSearch
Dim Tbl() As String
Dim Dossier As String
Dim I As Integer
Application.ScreenUpdating = False
'supprime le menu pour pouvoir le re créer
Suppression
'cherche dans le dossier du classeur
'contenant cette macro
Dossier = "D:" 'ThisWorkbook.Path & ""
Set Rf = Application.FileSearch
With Rf
.NewSearch
.Filename = "*.xls"
.LookIn = Dossier
.SearchSubFolders = False 'True pour les sous-dossiers
.Execute 1, 1
If .Execute > 0 Then
With .FoundFiles
For I = 1 To .Count
ReDim Preserve Tbl(1 To I)
Tbl(I) = Dir(.Item(I))
Next I
End With
End If
End With
Set Cmb = Application.CommandBars("worksheet Menu Bar") _
.Controls.Add(msoControlComboBox)
With Cmb
.Caption = "Classeurs"
.BeginGroup = True
.Width = 150
.OnAction = "OuvrirClasseurs"
.Tag = Dossier
.TooltipText = "Ouvre le classeur !"
If I <> 0 Then
For I = 1 To UBound(Tbl)
.AddItem Tbl(I)
Next I
End If
.ListIndex = 1
End With
Application.ScreenUpdating = True
Set Cmb = Nothing
Set Rf = Nothing
Erase Tbl
End Sub
Sub OuvrirClasseurs()
Dim NomClasseur As String
With CommandBars.ActionControl
NomClasseur = .List(.ListIndex)
On Error Resume Next
Workbooks(NomClasseur).Activate
If Err.Number <> 0 Then
Workbooks.Open .Tag & NomClasseur
End If
End With
End Sub
Sub Suppression()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar") _
.Controls("Classeurs").Delete
End Sub
---------------------------------------------------------------------
A mettre dans le module du ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Suppression
End Sub
Private Sub Workbook_Open()
Classeurs
End Sub
Hervé.
"Pascale" <p.vasnier@tiscali.fr> a écrit dans le message news:
erewvZ2WDHA.3248@tk2msftngp13.phx.gbl...
Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs
macros
qui
ouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là
pas
de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls,
sans
avoir
à créer une nouvelle macro pour aller de ce nouveau classeur au menu
et
lycée de Versailles, je souhaiterais créer une macro et une seule
qui
me
permettrait d'aller d'un classeur à l'autre en posant la question
textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
Merci beaucoup pour ton aide, cela fonctionne à merveille, je t'avoue ne
pas
comprendre toute la procédure, j'avais oublié de signaler que j'étais une
débutante en VBA. Pourrais-tu me conseiller un site où l'on explique le
Combobox je suis allé sur l'aide VBA mais les explications sont sommaires
et
compliquées pour une débutante.
merci Pascale
"Hervé" a écrit dans le message de news:Oups,
Une petite erreur suite au tests à la ligne "Dossier = >D:"
'ThisWorkbook.Path & ""< le >D:" '< doit être supprimé pour permettre
derécupérer le chemin du classeur.
Désolé.
Hervé.
"Hervé" a écrit dans le message news:Salut Pascale,
Je pense, mais je peux me tromper, que le plus simple pour toi, serait
d'avoir un combobox et la liste de tous tes classeurs. Il te suffirait
alorsde cliquer sur celui que tu veux activer (ou ouvrir). Un exemple, avec
touttes classeurs doivent être dans le même dossier que celui qui contient
lesprocs ci-dessous (je pense ; Menu.xls). Si tu ajoute un classeur par
macro,il te suffit, à la fin de celle-ci, de rappeler la proc "Classeurs"
pour
recharger ton combo avec le nom du nouveau classeur, seulement il faut
quetu l'enregistre avant sur le disque (se qui est le bon réflexe pour
éviterles pertes de données). Pour le test et afin d'éviter de fermer et
réouvrirton classeur, exécute la proc Classeurs (tu positionne le curseur
n'importeoù dans celle-ci et F5). Le combo est supprimé à la fermeture du
classeur.
----------------------------------------------------------------A mettre dans un module standard :
Sub Classeurs()
Dim Cmb As CommandBarComboBox
Dim Rf As FileSearch
Dim Tbl() As String
Dim Dossier As String
Dim I As Integer
Application.ScreenUpdating = False
'supprime le menu pour pouvoir le re créer
Suppression
'cherche dans le dossier du classeur
'contenant cette macro
Dossier = "D:" 'ThisWorkbook.Path & ""
Set Rf = Application.FileSearch
With Rf
.NewSearch
.Filename = "*.xls"
.LookIn = Dossier
.SearchSubFolders = False 'True pour les sous-dossiers
.Execute 1, 1
If .Execute > 0 Then
With .FoundFiles
For I = 1 To .Count
ReDim Preserve Tbl(1 To I)
Tbl(I) = Dir(.Item(I))
Next I
End With
End If
End With
Set Cmb = Application.CommandBars("worksheet Menu Bar") _
.Controls.Add(msoControlComboBox)
With Cmb
.Caption = "Classeurs"
.BeginGroup = True
.Width = 150
.OnAction = "OuvrirClasseurs"
.Tag = Dossier
.TooltipText = "Ouvre le classeur !"
If I <> 0 Then
For I = 1 To UBound(Tbl)
.AddItem Tbl(I)
Next I
End If
.ListIndex = 1
End With
Application.ScreenUpdating = True
Set Cmb = Nothing
Set Rf = Nothing
Erase Tbl
End Sub
Sub OuvrirClasseurs()
Dim NomClasseur As String
With CommandBars.ActionControl
NomClasseur = .List(.ListIndex)
On Error Resume Next
Workbooks(NomClasseur).Activate
If Err.Number <> 0 Then
Workbooks.Open .Tag & NomClasseur
End If
End With
End Sub
Sub Suppression()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar") _
.Controls("Classeurs").Delete
End Sub
---------------------------------------------------------------------A mettre dans le module du ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Suppression
End Sub
Private Sub Workbook_Open()
Classeurs
End Sub
Hervé.
"Pascale" a écrit dans le message news:Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs
macrosquiouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là
pasdeproblème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls,
sans
avoirà créer une nouvelle macro pour aller de ce nouveau classeur au menu
etlycée de Versailles, je souhaiterais créer une macro et une seule
qui
mepermettrait d'aller d'un classeur à l'autre en posant la question
textbox"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
Merci beaucoup pour ton aide, cela fonctionne à merveille, je t'avoue ne
pas
comprendre toute la procédure, j'avais oublié de signaler que j'étais une
débutante en VBA. Pourrais-tu me conseiller un site où l'on explique le
Combobox je suis allé sur l'aide VBA mais les explications sont sommaires
et
compliquées pour une débutante.
merci Pascale
"Hervé" a écrit dans le message de news:Oups,
Une petite erreur suite au tests à la ligne "Dossier = >D:"
'ThisWorkbook.Path & ""< le >D:" '< doit être supprimé pour permettre
derécupérer le chemin du classeur.
Désolé.
Hervé.
"Hervé" a écrit dans le message news:Salut Pascale,
Je pense, mais je peux me tromper, que le plus simple pour toi, serait
d'avoir un combobox et la liste de tous tes classeurs. Il te suffirait
alorsde cliquer sur celui que tu veux activer (ou ouvrir). Un exemple, avec
touttes classeurs doivent être dans le même dossier que celui qui contient
lesprocs ci-dessous (je pense ; Menu.xls). Si tu ajoute un classeur par
macro,il te suffit, à la fin de celle-ci, de rappeler la proc "Classeurs"
pour
recharger ton combo avec le nom du nouveau classeur, seulement il faut
quetu l'enregistre avant sur le disque (se qui est le bon réflexe pour
éviterles pertes de données). Pour le test et afin d'éviter de fermer et
réouvrirton classeur, exécute la proc Classeurs (tu positionne le curseur
n'importeoù dans celle-ci et F5). Le combo est supprimé à la fermeture du
classeur.
----------------------------------------------------------------A mettre dans un module standard :
Sub Classeurs()
Dim Cmb As CommandBarComboBox
Dim Rf As FileSearch
Dim Tbl() As String
Dim Dossier As String
Dim I As Integer
Application.ScreenUpdating = False
'supprime le menu pour pouvoir le re créer
Suppression
'cherche dans le dossier du classeur
'contenant cette macro
Dossier = "D:" 'ThisWorkbook.Path & ""
Set Rf = Application.FileSearch
With Rf
.NewSearch
.Filename = "*.xls"
.LookIn = Dossier
.SearchSubFolders = False 'True pour les sous-dossiers
.Execute 1, 1
If .Execute > 0 Then
With .FoundFiles
For I = 1 To .Count
ReDim Preserve Tbl(1 To I)
Tbl(I) = Dir(.Item(I))
Next I
End With
End If
End With
Set Cmb = Application.CommandBars("worksheet Menu Bar") _
.Controls.Add(msoControlComboBox)
With Cmb
.Caption = "Classeurs"
.BeginGroup = True
.Width = 150
.OnAction = "OuvrirClasseurs"
.Tag = Dossier
.TooltipText = "Ouvre le classeur !"
If I <> 0 Then
For I = 1 To UBound(Tbl)
.AddItem Tbl(I)
Next I
End If
.ListIndex = 1
End With
Application.ScreenUpdating = True
Set Cmb = Nothing
Set Rf = Nothing
Erase Tbl
End Sub
Sub OuvrirClasseurs()
Dim NomClasseur As String
With CommandBars.ActionControl
NomClasseur = .List(.ListIndex)
On Error Resume Next
Workbooks(NomClasseur).Activate
If Err.Number <> 0 Then
Workbooks.Open .Tag & NomClasseur
End If
End With
End Sub
Sub Suppression()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar") _
.Controls("Classeurs").Delete
End Sub
---------------------------------------------------------------------A mettre dans le module du ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Suppression
End Sub
Private Sub Workbook_Open()
Classeurs
End Sub
Hervé.
"Pascale" a écrit dans le message news:Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs
macrosquiouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là
pasdeproblème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls,
sans
avoirà créer une nouvelle macro pour aller de ce nouveau classeur au menu
etlycée de Versailles, je souhaiterais créer une macro et une seule
qui
mepermettrait d'aller d'un classeur à l'autre en posant la question
textbox"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
Merci beaucoup pour ton aide, cela fonctionne à merveille, je t'avoue ne
pas
comprendre toute la procédure, j'avais oublié de signaler que j'étais une
débutante en VBA. Pourrais-tu me conseiller un site où l'on explique le
Combobox je suis allé sur l'aide VBA mais les explications sont sommaires
et
compliquées pour une débutante.
merci Pascale
"Hervé" <hmsilve@wanadoo.fr> a écrit dans le message de news:
eL9i0n4WDHA.1812@TK2MSFTNGP11.phx.gbl...
Oups,
Une petite erreur suite au tests à la ligne "Dossier = >D:"
'ThisWorkbook.Path & ""< le >D:" '< doit être supprimé pour permettre
de
récupérer le chemin du classeur.
Désolé.
Hervé.
"Hervé" <hmsilve@wanadoo.fr> a écrit dans le message news:
uzX79k4WDHA.216@TK2MSFTNGP11.phx.gbl...
Salut Pascale,
Je pense, mais je peux me tromper, que le plus simple pour toi, serait
d'avoir un combobox et la liste de tous tes classeurs. Il te suffirait
alors
de cliquer sur celui que tu veux activer (ou ouvrir). Un exemple, avec
tout
tes classeurs doivent être dans le même dossier que celui qui contient
les
procs ci-dessous (je pense ; Menu.xls). Si tu ajoute un classeur par
macro,
il te suffit, à la fin de celle-ci, de rappeler la proc "Classeurs"
pour
recharger ton combo avec le nom du nouveau classeur, seulement il faut
que
tu l'enregistre avant sur le disque (se qui est le bon réflexe pour
éviter
les pertes de données). Pour le test et afin d'éviter de fermer et
réouvrir
ton classeur, exécute la proc Classeurs (tu positionne le curseur
n'importe
où dans celle-ci et F5). Le combo est supprimé à la fermeture du
classeur.
----------------------------------------------------------------
A mettre dans un module standard :
Sub Classeurs()
Dim Cmb As CommandBarComboBox
Dim Rf As FileSearch
Dim Tbl() As String
Dim Dossier As String
Dim I As Integer
Application.ScreenUpdating = False
'supprime le menu pour pouvoir le re créer
Suppression
'cherche dans le dossier du classeur
'contenant cette macro
Dossier = "D:" 'ThisWorkbook.Path & ""
Set Rf = Application.FileSearch
With Rf
.NewSearch
.Filename = "*.xls"
.LookIn = Dossier
.SearchSubFolders = False 'True pour les sous-dossiers
.Execute 1, 1
If .Execute > 0 Then
With .FoundFiles
For I = 1 To .Count
ReDim Preserve Tbl(1 To I)
Tbl(I) = Dir(.Item(I))
Next I
End With
End If
End With
Set Cmb = Application.CommandBars("worksheet Menu Bar") _
.Controls.Add(msoControlComboBox)
With Cmb
.Caption = "Classeurs"
.BeginGroup = True
.Width = 150
.OnAction = "OuvrirClasseurs"
.Tag = Dossier
.TooltipText = "Ouvre le classeur !"
If I <> 0 Then
For I = 1 To UBound(Tbl)
.AddItem Tbl(I)
Next I
End If
.ListIndex = 1
End With
Application.ScreenUpdating = True
Set Cmb = Nothing
Set Rf = Nothing
Erase Tbl
End Sub
Sub OuvrirClasseurs()
Dim NomClasseur As String
With CommandBars.ActionControl
NomClasseur = .List(.ListIndex)
On Error Resume Next
Workbooks(NomClasseur).Activate
If Err.Number <> 0 Then
Workbooks.Open .Tag & NomClasseur
End If
End With
End Sub
Sub Suppression()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar") _
.Controls("Classeurs").Delete
End Sub
---------------------------------------------------------------------
A mettre dans le module du ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Suppression
End Sub
Private Sub Workbook_Open()
Classeurs
End Sub
Hervé.
"Pascale" <p.vasnier@tiscali.fr> a écrit dans le message news:
erewvZ2WDHA.3248@tk2msftngp13.phx.gbl...
Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs
macros
qui
ouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là
pas
de
problème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls,
sans
avoir
à créer une nouvelle macro pour aller de ce nouveau classeur au menu
et
lycée de Versailles, je souhaiterais créer une macro et une seule
qui
me
permettrait d'aller d'un classeur à l'autre en posant la question
textbox
"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale
Merci beaucoup pour ton aide, cela fonctionne à merveille, je t'avoue ne
pas
comprendre toute la procédure, j'avais oublié de signaler que j'étais une
débutante en VBA. Pourrais-tu me conseiller un site où l'on explique le
Combobox je suis allé sur l'aide VBA mais les explications sont sommaires
et
compliquées pour une débutante.
merci Pascale
"Hervé" a écrit dans le message de news:Oups,
Une petite erreur suite au tests à la ligne "Dossier = >D:"
'ThisWorkbook.Path & ""< le >D:" '< doit être supprimé pour permettre
derécupérer le chemin du classeur.
Désolé.
Hervé.
"Hervé" a écrit dans le message news:Salut Pascale,
Je pense, mais je peux me tromper, que le plus simple pour toi, serait
d'avoir un combobox et la liste de tous tes classeurs. Il te suffirait
alorsde cliquer sur celui que tu veux activer (ou ouvrir). Un exemple, avec
touttes classeurs doivent être dans le même dossier que celui qui contient
lesprocs ci-dessous (je pense ; Menu.xls). Si tu ajoute un classeur par
macro,il te suffit, à la fin de celle-ci, de rappeler la proc "Classeurs"
pour
recharger ton combo avec le nom du nouveau classeur, seulement il faut
quetu l'enregistre avant sur le disque (se qui est le bon réflexe pour
éviterles pertes de données). Pour le test et afin d'éviter de fermer et
réouvrirton classeur, exécute la proc Classeurs (tu positionne le curseur
n'importeoù dans celle-ci et F5). Le combo est supprimé à la fermeture du
classeur.
----------------------------------------------------------------A mettre dans un module standard :
Sub Classeurs()
Dim Cmb As CommandBarComboBox
Dim Rf As FileSearch
Dim Tbl() As String
Dim Dossier As String
Dim I As Integer
Application.ScreenUpdating = False
'supprime le menu pour pouvoir le re créer
Suppression
'cherche dans le dossier du classeur
'contenant cette macro
Dossier = "D:" 'ThisWorkbook.Path & ""
Set Rf = Application.FileSearch
With Rf
.NewSearch
.Filename = "*.xls"
.LookIn = Dossier
.SearchSubFolders = False 'True pour les sous-dossiers
.Execute 1, 1
If .Execute > 0 Then
With .FoundFiles
For I = 1 To .Count
ReDim Preserve Tbl(1 To I)
Tbl(I) = Dir(.Item(I))
Next I
End With
End If
End With
Set Cmb = Application.CommandBars("worksheet Menu Bar") _
.Controls.Add(msoControlComboBox)
With Cmb
.Caption = "Classeurs"
.BeginGroup = True
.Width = 150
.OnAction = "OuvrirClasseurs"
.Tag = Dossier
.TooltipText = "Ouvre le classeur !"
If I <> 0 Then
For I = 1 To UBound(Tbl)
.AddItem Tbl(I)
Next I
End If
.ListIndex = 1
End With
Application.ScreenUpdating = True
Set Cmb = Nothing
Set Rf = Nothing
Erase Tbl
End Sub
Sub OuvrirClasseurs()
Dim NomClasseur As String
With CommandBars.ActionControl
NomClasseur = .List(.ListIndex)
On Error Resume Next
Workbooks(NomClasseur).Activate
If Err.Number <> 0 Then
Workbooks.Open .Tag & NomClasseur
End If
End With
End Sub
Sub Suppression()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar") _
.Controls("Classeurs").Delete
End Sub
---------------------------------------------------------------------A mettre dans le module du ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Suppression
End Sub
Private Sub Workbook_Open()
Classeurs
End Sub
Hervé.
"Pascale" a écrit dans le message news:Bonjour à Tous et à Toutes
Sur Excel97, j'ai un classeur Menu.xls à partir duquel j'ai plrs
macrosquiouvrent différents classeurs exemple Budget Draguignan.xls Budget St
Tropez.xls etc J'ai des macros qui me permettent d'aller du menu aux
différents classeurs et des différents classeurs au Menu. Jusque là
pasdeproblème.
Avec macro, je crée un nouveau classeur ex Budget Ste Maxime.xls,
sans
avoirà créer une nouvelle macro pour aller de ce nouveau classeur au menu
etlycée de Versailles, je souhaiterais créer une macro et une seule
qui
mepermettrait d'aller d'un classeur à l'autre en posant la question
textbox"quel fichier voulez vous ouvrir" ?
Merci pour votre aide et bonne soirée
Pascale