Executer une macro à partir d'un fichier X
damdam38
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis en train de faire une macro excel (2007). J'ai fait un bouton qui execute la fonction Ouvrir... .
Mon but c'est d'abord de pouvoir choisir un fichier excel dans un dossier X à l'aide de ce bouton et ensuite de pouvoir copier les données de ce fichier. Alors voila mon code
Private Sub CommandButton1_Click()
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = False
.Show
UserForm1.TextBox1.Text = .SelectedItems(1)
End With
End Sub
Sub macro1()
'
' macro1 Macro
'
'
Range("A1").Select
Workbooks.Open Filename:="C:\Users\XXX\Desktop\export.xls"
Range("A3:A10").Select
Selection.Copy
Windows("macro1.xlsm").Activate
Je pense que ce qui manque est le code qui indique qu'il faut executer le fichier que j'avais chouisi au début. Des idées?
Merci
Je suis en train de faire une macro excel (2007). J'ai fait un bouton qui execute la fonction Ouvrir... .
Mon but c'est d'abord de pouvoir choisir un fichier excel dans un dossier X à l'aide de ce bouton et ensuite de pouvoir copier les données de ce fichier. Alors voila mon code
Private Sub CommandButton1_Click()
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = False
.Show
UserForm1.TextBox1.Text = .SelectedItems(1)
End With
End Sub
Sub macro1()
'
' macro1 Macro
'
'
Range("A1").Select
Workbooks.Open Filename:="C:\Users\XXX\Desktop\export.xls"
Range("A3:A10").Select
Selection.Copy
Windows("macro1.xlsm").Activate
Je pense que ce qui manque est le code qui indique qu'il faut executer le fichier que j'avais chouisi au début. Des idées?
Merci
A voir également:
- Executer une macro à partir d'un fichier X
- Site x - Guide
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Sites X : Pornhub, YouPorn et Redtube sont de nouveau accessibles en France - Guide
2 réponses
Bonjour,
La ligne à modifier est :
à remplacer par :
Bon j'avoue ne pas avoir testé et me tromper souvent en ce moment... Alors revenez après tests...
La ligne à modifier est :
Workbooks.Open Filename:="C:\Users\XXX\Desktop\export.xls"
à remplacer par :
'sort de la procédure si le textbox1 est vide... On ne sait jamais! ;-) If UserForm1.TextBox1.Text = "" Then Exit Sub Workbooks.Open Filename:= TextBox1.Text
Bon j'avoue ne pas avoir testé et me tromper souvent en ce moment... Alors revenez après tests...
ca me fait erreur d'execution 424
objet requis
Voila le code
Private Sub CommandButton1_Click()
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = False
.Show
UserForm1.TextBox1.Text = .SelectedItems(1)
End With
End Sub
Sub remplirbdd()
'
' remplirbdd Macro
'
'
Range("A1").Select
If UserForm1.TextBox1.Text = "xx" Then Exit Sub
Workbooks.Open Filename:=TextBox1.Text
Range("A3:A10").Select
Selection.Copy
Windows("macrobdd.xlsm").Activate
Range("B2").Select
ActiveSheet.Paste
Windows("TextBox1.Text").Activate
Range("B3:C10").Select
Application.CutCopyMode = False
Selection.Copy
Application.CutCopyMode = False
Selection.Copy
Windows("macrobdd.xlsm").Activate
Range("C2").Select
ActiveSheet.Paste
Windows("TextBox1.Text").Activate
etc et ca met en jaune la ligne UserForm1.TextBox1.Text = .SelectedItems(1)
End With
quand je fais Débogage
objet requis
Voila le code
Private Sub CommandButton1_Click()
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = False
.Show
UserForm1.TextBox1.Text = .SelectedItems(1)
End With
End Sub
Sub remplirbdd()
'
' remplirbdd Macro
'
'
Range("A1").Select
If UserForm1.TextBox1.Text = "xx" Then Exit Sub
Workbooks.Open Filename:=TextBox1.Text
Range("A3:A10").Select
Selection.Copy
Windows("macrobdd.xlsm").Activate
Range("B2").Select
ActiveSheet.Paste
Windows("TextBox1.Text").Activate
Range("B3:C10").Select
Application.CutCopyMode = False
Selection.Copy
Application.CutCopyMode = False
Selection.Copy
Windows("macrobdd.xlsm").Activate
Range("C2").Select
ActiveSheet.Paste
Windows("TextBox1.Text").Activate
etc et ca met en jaune la ligne UserForm1.TextBox1.Text = .SelectedItems(1)
End With
quand je fais Débogage
Pourquoi ne pas placer tout ton code, et donc réaliser toute la procédure, dans ton bouton?
Ca peux donner quelque chose comme :
Ca peux donner quelque chose comme :
Private Sub CommandButton1_Click()
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = False
.Show
UserForm1.TextBox1.Text = .SelectedItems(1)
End With
'Dans la ligne suivante, tu as ajouté "xx" au lieu de ""... Je ne comprends pas.
If UserForm1.TextBox1.Text = "xx" Then Exit Sub
Workbooks.Open Filename:=TextBox1.Text
'dans la ligne suivante A ADAPTER : Feuil1 à remplacer par le nom de la feuille accueillant les données...............
Range("A3:C10").Copy Workbooks("macrobdd.xlsm").Worksheets("Feuil1").Range("B2")
'le copier-coller en une ligne de code, pratique non???
End Sub