Avec un VBA j'ouvre un dossier et choisie un fichier et ex=E9cute
une proc=E9dure BLABLA.
je voudrait conserver le nom du fichier et rechercher le m=EAme non
mais avec "_1 " ,l'ex=E9cuter ma proc=E9dure puis continuer avec " _2 "
la m=EAme chose jusqua la possibilit=E9 de " _9 ".
EXP: Montr=E9al.pri (choisie Montr=E9al)
ex=E9cute la proc=E9dure BLABLA
ex=E9cute la proc=E9dure BLABLA avec le fichier
Montr=E9al_1.pri
ex=E9cute la proc=E9dure BLABLA avec le fichier
Montr=E9al_2.pri
ex=E9cute la proc=E9dure BLABLA avec le fichier
Montr=E9al_3.pri
ex=E9cute la proc=E9dure BLABLA avec le fichier
Montr=E9al_4.pri
ainsi de suite maximum de 9.
parfois il y en plusieur fichiers et parfois un seul .
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
IdAL
Bonjour,
Tu peux peut-être essayer ça :
Sub Essai1() Dim Chemin As String Dim NomFichier, NomFichierSuite As String 'Dim Erreur As Long Dim i As Integer NomFichier = Application.GetOpenFilename("(*.xls), *.xls") Chemin = NomFichier Workbooks.Open Filename:=Chemin Chemin = ActiveWorkbook.Path NomFichier = ActiveWorkbook.Name ChDir (Chemin) 'Macro BLABLA ActiveWorkbook.Close True 'pour enregistrer sans alerte ! For i = 1 To 9 On Error GoTo Ligne1 'Si le fichier n'existe pas NomFichierSuite = NomFichier & "_" & i Chemin = Chemin & Application.PathSeparator & NomFichierSuite Workbooks.Open Filename:=Chemin If ActiveWorkbook.Name = NomFichierSuite Then 'Macro BLABLA End If Next i Ligne1: Erreur = Err.Number Err.Clear If Erreur = 1004 Then Erreur = 0 Resume Next End If End Sub
IdAL
"pellet15" wrote:
Bonjour à tous
Avec un VBA j'ouvre un dossier et choisie un fichier et exécute une procédure BLABLA. je voudrait conserver le nom du fichier et rechercher le même non mais avec "_1 " ,l'exécuter ma procédure puis continuer avec " _2 " la même chose jusqua la possibilité de " _9 ".
EXP: Montréal.pri (choisie Montréal) exécute la procédure BLABLA exécute la procédure BLABLA avec le fichier Montréal_1.pri exécute la procédure BLABLA avec le fichier Montréal_2.pri exécute la procédure BLABLA avec le fichier Montréal_3.pri exécute la procédure BLABLA avec le fichier Montréal_4.pri ainsi de suite maximum de 9. parfois il y en plusieur fichiers et parfois un seul .
Comment écrire ces commandes. ???
Merci
Bonjour,
Tu peux peut-être essayer ça :
Sub Essai1()
Dim Chemin As String
Dim NomFichier, NomFichierSuite As String
'Dim Erreur As Long
Dim i As Integer
NomFichier = Application.GetOpenFilename("(*.xls), *.xls")
Chemin = NomFichier
Workbooks.Open Filename:=Chemin
Chemin = ActiveWorkbook.Path
NomFichier = ActiveWorkbook.Name
ChDir (Chemin)
'Macro BLABLA
ActiveWorkbook.Close True 'pour enregistrer sans alerte !
For i = 1 To 9
On Error GoTo Ligne1 'Si le fichier n'existe pas
NomFichierSuite = NomFichier & "_" & i
Chemin = Chemin & Application.PathSeparator & NomFichierSuite
Workbooks.Open Filename:=Chemin
If ActiveWorkbook.Name = NomFichierSuite Then
'Macro BLABLA
End If
Next i
Ligne1:
Erreur = Err.Number
Err.Clear
If Erreur = 1004 Then
Erreur = 0
Resume Next
End If
End Sub
IdAL
"pellet15" wrote:
Bonjour à tous
Avec un VBA j'ouvre un dossier et choisie un fichier et exécute
une procédure BLABLA.
je voudrait conserver le nom du fichier et rechercher le même non
mais avec "_1 " ,l'exécuter ma procédure puis continuer avec " _2 "
la même chose jusqua la possibilité de " _9 ".
EXP: Montréal.pri (choisie Montréal)
exécute la procédure BLABLA
exécute la procédure BLABLA avec le fichier
Montréal_1.pri
exécute la procédure BLABLA avec le fichier
Montréal_2.pri
exécute la procédure BLABLA avec le fichier
Montréal_3.pri
exécute la procédure BLABLA avec le fichier
Montréal_4.pri
ainsi de suite maximum de 9.
parfois il y en plusieur fichiers et parfois un seul .
Sub Essai1() Dim Chemin As String Dim NomFichier, NomFichierSuite As String 'Dim Erreur As Long Dim i As Integer NomFichier = Application.GetOpenFilename("(*.xls), *.xls") Chemin = NomFichier Workbooks.Open Filename:=Chemin Chemin = ActiveWorkbook.Path NomFichier = ActiveWorkbook.Name ChDir (Chemin) 'Macro BLABLA ActiveWorkbook.Close True 'pour enregistrer sans alerte ! For i = 1 To 9 On Error GoTo Ligne1 'Si le fichier n'existe pas NomFichierSuite = NomFichier & "_" & i Chemin = Chemin & Application.PathSeparator & NomFichierSuite Workbooks.Open Filename:=Chemin If ActiveWorkbook.Name = NomFichierSuite Then 'Macro BLABLA End If Next i Ligne1: Erreur = Err.Number Err.Clear If Erreur = 1004 Then Erreur = 0 Resume Next End If End Sub
IdAL
"pellet15" wrote:
Bonjour à tous
Avec un VBA j'ouvre un dossier et choisie un fichier et exécute une procédure BLABLA. je voudrait conserver le nom du fichier et rechercher le même non mais avec "_1 " ,l'exécuter ma procédure puis continuer avec " _2 " la même chose jusqua la possibilité de " _9 ".
EXP: Montréal.pri (choisie Montréal) exécute la procédure BLABLA exécute la procédure BLABLA avec le fichier Montréal_1.pri exécute la procédure BLABLA avec le fichier Montréal_2.pri exécute la procédure BLABLA avec le fichier Montréal_3.pri exécute la procédure BLABLA avec le fichier Montréal_4.pri ainsi de suite maximum de 9. parfois il y en plusieur fichiers et parfois un seul .
Comment écrire ces commandes. ???
Merci
pellet15
Bonjour IdAL J'ai addapter cela avec mes fichier mais cela ne sélection pas il exécute le premier mais ne trouve pas les autres ( xxxx_1, xxxx_2 ect) Ou cela accroche t'il ??? (je peut te faire parvenir les fichiers)
Merci
Sub Essai1() Sheets("Priority Defect").Select Range("A1").Select
Dim Chemin As String Dim NomFichier, NomFichierSuite As String 'Dim Erreur As Long Dim i As Integer NomFichier = Application.GetOpenFilename("(*.pri), *.pri") Chemin = NomFichier Workbooks.Open Filename:=Chemin Chemin = ActiveWorkbook.Path NomFichier = ActiveWorkbook.Name ChDir (Chemin) Application.Run "Model_camionTest.xls!Convertir_1_fichier" Application.Run "Model_camionTest.xls!extraire_donne" For i = 1 To 3 On Error GoTo Ligne1 'Si le fichier n'existe pas NomFichierSuite = NomFichier & "_" & i Chemin = Chemin & Application.PathSeparator & NomFichierSuite Workbooks.Open Filename:=Chemin If ActiveWorkbook.Name = NomFichierSuite Then Application.Run "Model_camionTest.xls!Convertir_2_fichier" Application.Run "Model_camionTest.xls!extraire_donne" End If Next i Ligne1: Erreur = Err.Number Err.Clear If Erreur = 1004 Then Erreur = 0 Resume Next End If End Sub
Bonjour IdAL
J'ai addapter cela avec mes fichier mais cela ne sélection pas
il exécute le premier mais ne trouve pas les autres ( xxxx_1, xxxx_2
ect)
Ou cela accroche t'il ??? (je peut te faire parvenir les fichiers)
Merci
Sub Essai1()
Sheets("Priority Defect").Select
Range("A1").Select
Dim Chemin As String
Dim NomFichier, NomFichierSuite As String
'Dim Erreur As Long
Dim i As Integer
NomFichier = Application.GetOpenFilename("(*.pri), *.pri")
Chemin = NomFichier
Workbooks.Open Filename:=Chemin
Chemin = ActiveWorkbook.Path
NomFichier = ActiveWorkbook.Name
ChDir (Chemin)
Application.Run "Model_camionTest.xls!Convertir_1_fichier"
Application.Run "Model_camionTest.xls!extraire_donne"
For i = 1 To 3
On Error GoTo Ligne1 'Si le fichier n'existe pas
NomFichierSuite = NomFichier & "_" & i
Chemin = Chemin & Application.PathSeparator & NomFichierSuite
Workbooks.Open Filename:=Chemin
If ActiveWorkbook.Name = NomFichierSuite Then
Application.Run "Model_camionTest.xls!Convertir_2_fichier"
Application.Run "Model_camionTest.xls!extraire_donne"
End If
Next i
Ligne1:
Erreur = Err.Number
Err.Clear
If Erreur = 1004 Then
Erreur = 0
Resume Next
End If
End Sub
Bonjour IdAL J'ai addapter cela avec mes fichier mais cela ne sélection pas il exécute le premier mais ne trouve pas les autres ( xxxx_1, xxxx_2 ect) Ou cela accroche t'il ??? (je peut te faire parvenir les fichiers)
Merci
Sub Essai1() Sheets("Priority Defect").Select Range("A1").Select
Dim Chemin As String Dim NomFichier, NomFichierSuite As String 'Dim Erreur As Long Dim i As Integer NomFichier = Application.GetOpenFilename("(*.pri), *.pri") Chemin = NomFichier Workbooks.Open Filename:=Chemin Chemin = ActiveWorkbook.Path NomFichier = ActiveWorkbook.Name ChDir (Chemin) Application.Run "Model_camionTest.xls!Convertir_1_fichier" Application.Run "Model_camionTest.xls!extraire_donne" For i = 1 To 3 On Error GoTo Ligne1 'Si le fichier n'existe pas NomFichierSuite = NomFichier & "_" & i Chemin = Chemin & Application.PathSeparator & NomFichierSuite Workbooks.Open Filename:=Chemin If ActiveWorkbook.Name = NomFichierSuite Then Application.Run "Model_camionTest.xls!Convertir_2_fichier" Application.Run "Model_camionTest.xls!extraire_donne" End If Next i Ligne1: Erreur = Err.Number Err.Clear If Erreur = 1004 Then Erreur = 0 Resume Next End If End Sub
IdAL
ok, envoie le tout, je regarde et te tiens au courant.
ok, envoie le tout, je regarde et te tiens au courant.
ok, envoie le tout, je regarde et te tiens au courant.
IdAL
Après correction :
Sub Essai1() Sheets("Priority Defect").Select Range("A1").Select
Dim Chemin, CheminSuite As String Dim NomFichier, NomFichierSuite As String Dim i As Integer Application.ScreenUpdating = False NomFichier = Application.GetOpenFilename("(*.pri), *.pri") Chemin = NomFichier Workbooks.Open Filename:=Chemin Chemin = ActiveWorkbook.Path NomFichier = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) ChDir (Chemin) Application.Run "Model_camionTest.xls!Convertir_1_fichier" Application.Run "Model_camionTest.xls!extraire_donne" 'Macro BLABLA
For i = 1 To 3 On Error GoTo Ligne1 'Si le fichier n'existe pas NomFichierSuite = NomFichier & "_" & i & ".pri" CheminSuite = Chemin & Application.PathSeparator & NomFichierSuite Workbooks.Open Filename:=CheminSuite If ActiveWorkbook.Name = NomFichierSuite Then Application.Run "Model_camionTest.xls!Convertir_2_fichier" Application.Run "Model_camionTest.xls!extraire_donne" 'Macro BLABLA End If Next i Ligne1: Erreur = Err.Number Err.Clear If Erreur = 1004 Then Erreur = 0 Resume Next End If End Sub
Après correction :
Sub Essai1()
Sheets("Priority Defect").Select
Range("A1").Select
Dim Chemin, CheminSuite As String
Dim NomFichier, NomFichierSuite As String
Dim i As Integer
Application.ScreenUpdating = False
NomFichier = Application.GetOpenFilename("(*.pri), *.pri")
Chemin = NomFichier
Workbooks.Open Filename:=Chemin
Chemin = ActiveWorkbook.Path
NomFichier = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4)
ChDir (Chemin)
Application.Run "Model_camionTest.xls!Convertir_1_fichier"
Application.Run "Model_camionTest.xls!extraire_donne"
'Macro BLABLA
For i = 1 To 3
On Error GoTo Ligne1 'Si le fichier n'existe pas
NomFichierSuite = NomFichier & "_" & i & ".pri"
CheminSuite = Chemin & Application.PathSeparator & NomFichierSuite
Workbooks.Open Filename:=CheminSuite
If ActiveWorkbook.Name = NomFichierSuite Then
Application.Run "Model_camionTest.xls!Convertir_2_fichier"
Application.Run "Model_camionTest.xls!extraire_donne" 'Macro BLABLA
End If
Next i
Ligne1:
Erreur = Err.Number
Err.Clear
If Erreur = 1004 Then
Erreur = 0
Resume Next
End If
End Sub
Sub Essai1() Sheets("Priority Defect").Select Range("A1").Select
Dim Chemin, CheminSuite As String Dim NomFichier, NomFichierSuite As String Dim i As Integer Application.ScreenUpdating = False NomFichier = Application.GetOpenFilename("(*.pri), *.pri") Chemin = NomFichier Workbooks.Open Filename:=Chemin Chemin = ActiveWorkbook.Path NomFichier = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) ChDir (Chemin) Application.Run "Model_camionTest.xls!Convertir_1_fichier" Application.Run "Model_camionTest.xls!extraire_donne" 'Macro BLABLA
For i = 1 To 3 On Error GoTo Ligne1 'Si le fichier n'existe pas NomFichierSuite = NomFichier & "_" & i & ".pri" CheminSuite = Chemin & Application.PathSeparator & NomFichierSuite Workbooks.Open Filename:=CheminSuite If ActiveWorkbook.Name = NomFichierSuite Then Application.Run "Model_camionTest.xls!Convertir_2_fichier" Application.Run "Model_camionTest.xls!extraire_donne" 'Macro BLABLA End If Next i Ligne1: Erreur = Err.Number Err.Clear If Erreur = 1004 Then Erreur = 0 Resume Next End If End Sub