Executer une macro à partir d'un fichier X
Fermé
damdam38
-
22 juil. 2011 à 14:13
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 22 juil. 2011 à 15:41
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 22 juil. 2011 à 15:41
A voir également:
- Executer une macro à partir d'un fichier X
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Ouvrir un fichier .bin - Guide
2 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 757
22 juil. 2011 à 14:28
22 juil. 2011 à 14:28
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 757
Modifié par pijaku le 22/07/2011 à 15:42
Modifié par pijaku le 22/07/2011 à 15:42
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