OVH Cloud OVH Cloud

macro chercher classeur

7 réponses
Avatar
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

7 réponses

Avatar
...Patrick
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




Avatar
Pascale
Merci Patrick, CTRL+F6 c'est Ok mais je ne souhaiterais pas passer en revue
tous les classeurs ouverts mais justement pouvoir à l'aide d'une macro avec
textbox "Quel classeur ?" aller directement vers le classeur voulu.

Merci
Pascale

"...Patrick" a écrit dans le message de news:

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








Avatar
Starwing
Salut,

Moi je dois faire CTRL F12

Au Québec on double??

Starwing
-----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





.




Avatar
Hervé
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
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
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










Avatar
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
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
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



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














Avatar
Hervé
Salut Pascale,
re poste la question car je n'ai pas les adresses de ces sites. Voir celui
de misange : excelabo ???
Hervé.

"Pascale" a écrit dans le message news:

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
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
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



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


















Avatar
Misange
Bonjour Pascale et bienvenue sur MPFE

Voici ci dessous copie légèrement modifiée du célèbre message d'accueil
de Monique, (dont j'espère bien qu'elle va nous revenir bientôt).
**************************************
Sur les sites proposés dans ce message d'accueil, tu découvriras des
cours (avec ou sans VBA), des classeurs d'exemples à télécharger, des
macros, des trucs et astuces...

Pour connaître les habitudes de mpfe (et les erreurs à éviter, comme les
fichiers joints...), tu peux lire ces messages publiés régulièrement
ici, avec l'un de ces intitulés
- FAQ MPFE http://dj.joss.free.fr/netiquet.htm (nétiquette, conseils...)
- [Charte] du forum MPFE http://minilien.com/?9Ag3gXpmA4
et consulter cette page
http://www.excelabo.net/mpfe/connection.htm
(connexion,conseils...), à consulter absolument si tu suis le forum
depuis un site web (la solution la moins efficace et la moins
confortable) ou avec le serveur de Wanadoo (très peu performant quant au
délai d'affichage et au nombre de messages publiés).
Le serveur à utiliser : news.microsoft.com - ou cliquer directement sur
news:microsoft.public.fr.excel

Pour les débutants, voilà 5 bons trucs pour apprendre vite :
- utiliser souvent l'enregistreur de macro et analyser le code obtenu
- utiliser la touche F1 pour appeler l'aide (à propos du mot-clef, en
VBA, sur lequel se trouve le curseur)
- tester et essayer de comprendre des réponses faites à d'autres
- consulter souvent les sites renseignés
- ne jamais hésiter à poser des questions sur le forum

Voici la liste des sites dédiés à Excel, réalisés par des mpfie(ne)s et
que nous devons tous avoir dans nos favoris.
Débutant ou utilisateur confirmé, tu y trouveras de quoi apprendre,
progresser et résoudre bien des problèmes.
(la date d'une mise à jour est signalée par ** ** )
http://dj.joss.free.fr/faq.htm ** 04/07/03 **
la FAQ du forum, mise en oeuvre par Daniel et à lire absolument par tout
nouveau sur mpfe : la bonne manière de participer au forum (charte,
souriettes, abréviations...), liens, bibliographie, les réponses aux
questions le plus souvent posées, des trucs et astuces, un moteur de
recherche interne et externe (Yahoo), une page débutants
http://www.excelabo.net/xl/debuter.htm ** 28/07/03 **
le site humoro-ludique de Misange : plus de 1000
astuces et macros VBA en provenance de ce forum classées selon 40 thèmes,
des classeurs exemples à télécharger, un lexique, une page débutants,
des jeux en VBA... 4 moteurs de recherche pour trouver des astuces,
des liens sur excel, des classeurs à télécharger et même des astuces sur 5
autres sites
de cette liste mais aussi tout ce qui fait "l'esprit mpfe", les perles, les
gifs...
et les photos des rencontres du forum mpfe.
http://longre.free.fr/ ** 19/03/03 **
l'incontournable site de Laurent, notre Grand Chef à Quatre Plumes :
des explications très pointues (techniques de
programmation, calculs de dates et d'heures, Api...), des macros
indispensables
à télécharger dont la célèbre morefun.xla, de très nombreux liens
commentés...
http://jacxl.free.fr/mpfe/ ** 01/03/03 **
le site de : les graphiques, la bourse, le Web, un cours VBA, des
astuces rigolotes, un
moteur de recherche à la page Aide... et le trombinoscope des
mpfien(ne)s
http://ericrenaud.free.fr/index.html ** 18/06/03 **
le site d'Eric : particulièrement destiné aux débutants (UserForm...)
http://perso.wanadoo.fr/frederic.sigonneau ** 10/03/03**
le site de Frédéric : gestions de temps, VBA pour Excel... une mine d'or
de macros. Plus de 1000 macros classées thématiquement à télécharger.
http://xlbysteph.free.fr/aideinformatique/web.htm ** 24/04/03 **
le site de Stéphane : cours VBA, Excel 4 (ou 5) et Excel 97/2000...
http://perso.club-internet.fr/bdafonse
le site de Bruno : formules, classeurs à télécharger...
http://cherbe.free.fr/ ** 21/01/02 **
le site de Christian : initiation à Excel, initiation à VBA, Excel
avancé sans VBA... (cours à télécharger)
http://www.ilyapa.net/excel/ ** 22/05/02 **
le site de Pascal : procédures VBA, composants par
l'exemple,calendriers, jeux
http://intendant.free.fr/ ** 13/03/02 **
le site de Thierry : cours VBA (début et perfectionnement), graphique,
Excel en bureautique...
http://www.polykromy.com/ ** 22/06/03 **
le site de Gaëtan : cours sur Excel sans VBA, les couleurs, des astuces
animées...
http://www.gaboly.com ** 05/02/03 **
le site de Michel, cours Excel et VBA (avec un Mac)...
http://www.excel-downloads.com ** 06/07/03 **
le site de David, des programmes Excel à télécharger
http://mapage.noos.fr/pnoss/excel.html ** 23/08/02 **
le site de Philippe, trucs et astuces, Exoutils (barre d'outils pour
Excel à télécharger)...
http://www.champey.com/
le site de Patrice : les langages de programmation (VB, VBS et VBA)
http://www.anthony-penel.fr.st
le site d'Anthony : des macros appliquées à la finance
http://www.fundp.ac.be/~jmlamber/
le site de Jean-Marie : initiation VBA, TCD, listes, solveur...
http://www.ibelgique.com/OfficeAssistant ** 08/08/01 **
le site de Bureauticien : nombreux exemples résolus par VBA,fonctions...
http://www.cathyastuce.com/index.htm ** 15/12/01 **
le site de Cathy : cours Excel avec ou sans VBA...
http://perso.wanadoo.fr/jean.duprat
le site de Papy Jean : fiches Excel pour débutants...
http://www.ifrance.com/fleguen/excel.html
le site de Konga : des classeurs d'exercices (fonctions, macros)

Pour une collection très fouillée d'adresses (avec commentaires) :
le classeur de Clément M, à télécharger sur Excelabo
Et un lien à y ajouter, la liste des constantes intrinsèques de VBA avec
leur valeur numérique (par versions d'Excel) :
http://support.microsoft.com/support/kb/articles/Q112/6/71.ASP
(télécharger: wc0993.exe)

Pour le passage de Excel 4 à Excel 97, un lien proposé par Geo
http://www.microsoft.com/FRANCE/officedev/infotech/info.asp?mar=/FRANCE/
officedev/infotech/MacroXLtoVBA.html
(le lien tient sur plusieurs lignes, il se termine par html)
ou http://minilien.com/?5vyhNUG62R

Enfin, pour retrouver d'anciens messages, tu peux aller sur
http://groups.google.com/advanced_group_search
avec les conseils de Clément M pour obtenir les meilleurs résultats :
--- Là, il y a un écran "bilingue" qui permet de faire une recherche
plus ou moins pointue, selon les informations dont l'on dispose.
Une fois que l'on a repéré un message, il est possible de récupérer
l'ensemble de la ficelle, en cliquant sur "Voyez Fil de Discussion (x
articles)".
Je me suis aperçu que Google fonctionnait très mal quand on fait une
recherche avec un nom qui contient des accents. Il semble donc
préférable d'utiliser l'adresse électronique comme nom d'auteur.
Auteur => 3.450 messages
Auteur Clément Marcotte => 1 message
Bonne lecture et à bientôt sur mpfe.
****************************************************


--
Misange migrateuse http://www.excelabo.net
==Disciplus a migré chez excelabo !======= mail : http://cerbermail.com/?k5Q8Dh2mta




"Pascale" a écrit dans le message de news:

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
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
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



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