macro

P

pascal

Guest
Bonjour,
Actuellemnt j'execute tous les jours 1 macro,un simple copier/coller d'1 classeur a un autre,le probleme est que le classeur source change regulierement de nom (venant d'une disquette A)donc je suis obliger de modifier ma macro.
Je souhaite avoir une useform avec un bouton valid et combox liste deroulante avec les divers nom de ma disquette et lorsque je valide j'execute ma macro
Comment faire?
Pascal
 
W

Wilfried

Guest
Salut

Voici le code pour te renvoyer dans une comboBox la liste des fichiers qui son dans ta disquette


dim m_nm_fichiers as string
dim m_contenue
Sub recup_disk
dim m_nb_index as integer
dim m_lst_fichier() as string
m_nb_index=userform1.combobox1.listcount
if m_nb_index<>0 then
do until m_nb_index=0
userform1.combobox.removeitem m_nb_index-1
m_nb_index=userform1.combobox1.listcount
loop
end if
chdrive("A:\")
m_nm_contenue=dir("*.xls")
if len(m_nm_contenue)=0 then
msgbox("La disquette ne contient pas de fichiers .xls")
exit sub
else
do until m_nm_contenue=""
m_lst_fichier(m_nb_index)=m_nm_contenue
m_nb_index=m_nb_index+1
m_nm_contenue=dir 'passage au fichier suivant
loop
'remplissage de la combobox
for i=0 to m_nb_index-1
userform1.combobox1.additem m_lst_fichier(i)
next i
end if
end sub

Tu n'as plus qu'as rattacher ton call lancement et ouverture au bouton Valider.

A+ Wilfried ;oP
 
@

@+Thierry

Guest
Re: "Application.Dialogs(xlDialogOpen)" ou "Application.GetOpenFilename"

Bonjour Pascal, Wilfried, le Forum

Ou sinon en plus simple, puisque utilisant des fonctions intégrées de Windows :

Voici deux Procédures : soir par "Application.Dialogs(xlDialogOpen)" soit par "Application.GetOpenFilename"...

Sub ExcelDialogOpen()
Dim CurrentPath As String
Dim FileToOpen As Boolean
Dim UserDrive As String

UserDrive = Left(CurDir, 1) 'On Mémorise les Paramètres du User
CurrentPath = CurDir

ChDrive "A"
ChDir ""A:\"

FileToOpen = Application.Dialogs(xlDialogOpen).Show("*.xls")

ChDrive UserDrive
ChDir CurrentPath
If FileToOpen = False Then MsgBox "Ouverture Annulée"
End Sub


Sub MethodGetOpenFile()
Dim CurrentPath As String
Dim FileToOpen As Variant
Dim UserDrive As String

UserDrive = Left(CurDir, 1) 'On Mémorise les Paramètres du User
CurrentPath = CurDir

ChDrive "A"
ChDir ""A:\"

FileToOpen = Application.GetOpenFilename("Classeurs Excel,*.xls")

ChDrive UserDrive
ChDir CurrentPath
If FileToOpen = False Then MsgBox "Ouverture Annulée": Exit Sub
Workbooks.Open FileToOpen

End Sub


Bonne Journée
@+Thierry
 
F

fodjio

Guest
Re: "Application.Dialogs(xlDialogOpen)" ou "Application.GetOpenFilename"

Désolé mettre mon grain de sel,
mais "macro" je trouve que c'est trop parlant comme sujet

pendant qu'on y est, on n'a qu'a tous mettre "Excel" comme sujet!
(Moins on sera sur qu'il c'est pas trompé de forum)
 
@

@+Thierry

Guest
Re: SVP Sujet Parlant et Explicit (Bis Repetita)

Bonjour Fodjio, re Wilfried, Pascal, le Forum

Et oui, je sais, pourtant c'est pas faute d'avoir essayé, la Charte Article 2-a est pourtant là pour l'indiquer...

Le message " Evitez "URGENT" et soyez explicite" juxtaposé à coté de la TextBox Sujet aussi...

Le nombre de fois où je suis intervenu depuis des années pour des sujets bidons...

Saviez vous que j'avais fait un Lien supprimé basé justement sur le Sujet... Saviez-vous aussi que LaurentTBT en avait fait un aussi Lien supprimé...

Je pense que Pascal ne doit pas être très habitué des Forums de Partage de connaissance, d'où ce sujet on ne peut moins clair, mais pour lui et ceux et celles qui liront ce Fil de Discussion, pensez que plus vous serez clair et précis dans le choix de votre sujet, plus vous aurez de chances d'obtenir une réponse rapide et correspondant à vos besoins.

Je suis certain que Pascal saura faire attention la prochaine fois d'éviter cette erreur de jeunesse.

Bonne Journée à tous et toutes
@+Thierry
 

Discussions similaires

Réponses
8
Affichages
267

Statistiques des forums

Discussions
312 345
Messages
2 087 466
Membres
103 550
dernier inscrit
ALHAERi