OVH Cloud OVH Cloud

besoin d'exécuter une macro plusieur reprise

5 réponses
Avatar
pellet15
Bonsoir =E0 tous
J'ai une macros qui rassemble des donn=E9 sur 3 fichier txt pour
les incorporer dans un fichier xls.
donc le premier a une extention ".pri" deusi=E8me ".nurg" et la
derni=E8re ".urg".
cela va mais parfois je doit le faire en plusieur s=E9rie soit 2,3 ou 4
fois les fichiers.
Je doit faire tous les ".pri",tous les ".nurg" et pour finir avec tous
les ".urg" .
(lorsqu'il y a plusieur fichier cet toujour en multiple de trois
fichier)

J'aurais besoin que la macros me demande le nombre de s=E9rie.
et ce nombre ferai r=E9p=E9ter la macros suivante 2, 3 ou4 selont la
r=E9ponce.
--------------------------------
Sub Rasembler()
Filt =3D "Fichier Mic (*.pri),*.pri," 'ouvre recherche fichier
Title =3D "Selectionnez un Fichier (Explan) a Importer : "
Filename =3D Application.GetOpenFilename(FileFilter:=3DFilt, Title:=3DTitle)
If Filename =3D False Then
MsgBox "aucun fichier choisi"
Exit Sub
End If
FichOuv =3D Filename
Workbooks.OpenText Filename:=3DFichOuv, Origin:=3D _
xlWindows, StartRow:=3D1, DataType:=3DxlDelimited, TextQualifier:=3D _
xlDoubleQuote, ConsecutiveDelimiter:=3DFalse, Tab:=3DTrue, Semicolon:=3DTru=
e,
_
Comma:=3DFalse, Space:=3DFalse, Other:=3DFalse
Application.Run "Model_camionTestl.xls!Convertir_1_fichier"
Application.DisplayAlerts =3D False
ActiveWorkbook.Close savechanges:=3DFalse
Windows("Model_camionTestl.xls").Activate
Range("A1").Select
ActiveSheet.Paste
Range("A1").Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
ActiveCell(3, 1).Select
Filt =3D "Fichier Mic (*.nurg),*.nurg,"
Title =3D "Selectionnez un Fichier (Explan) a Importer : "
Filename =3D Application.GetOpenFilename(FileFilter:=3DFilt, Title:=3DTitle)
If Filename =3D False Then
MsgBox "aucun fichier choisi"
Exit Sub
End If
FichOuv =3D Filename
Workbooks.OpenText Filename:=3DFichOuv, Origin:=3D _
xlWindows, StartRow:=3D1, DataType:=3DxlDelimited, TextQualifier:=3D _
xlDoubleQuote, ConsecutiveDelimiter:=3DFalse, Tab:=3DTrue, Semicolon:=3DTru=
e,
_
Comma:=3DFalse, Space:=3DFalse, Other:=3DFalse
Application.CutCopyMode =3D False
Application.Run "Model_camionTestl.xls!Convertir_2_fichier"
ActiveWorkbook.Close savechanges:=3DFalse
Windows("Model_camionTestl.xls").Activate
ActiveSheet.Paste
Selection.End(xlDown).Select
Selection.End(xlDown).Select
ActiveCell(3, 1).Select
Filt =3D "Fichier Mic (*.urg),*.urg,"
Title =3D "Selectionnez un Fichier (Explan) a Importer : "
Filename =3D Application.GetOpenFilename(FileFilter:=3DFilt, Title:=3DTitle)
If Filename =3D False Then
MsgBox "aucun fichier choisi"
Exit Sub
End If
FichOuv =3D Filename
Workbooks.OpenText Filename:=3DFichOuv, Origin:=3D _
xlWindows, StartRow:=3D1, DataType:=3DxlDelimited, TextQualifier:=3D _
xlDoubleQuote, ConsecutiveDelimiter:=3DFalse, Tab:=3DTrue, Semicolon:=3DTru=
e,
_
Comma:=3DFalse, Space:=3DFalse, Other:=3DFalse
Application.CutCopyMode =3D False
Application.Run "Model_camionTestl.xls!Convertir_2_fichier"
ActiveWorkbook.Close savechanges:=3DFalse
Windows("Model_camionTestl.xls").Activate
ActiveSheet.Paste
Range("k1").Select
Selection.Copy
Range("K15:K999").Select
ActiveSheet.Paste
Range("C10").Select
Application.Run "Model_camionTestl.xls!sauve_et_onglet"
End Sub
-----------------------------------------------------------------
Merci

5 réponses

Avatar
lSteph
Bonjour,

J'aurais besoin que la macros me demande le nombre de série.
et ce nombre ferai répéter la macros suivante 2, 3 ou4 selont la
réponce.


Sub multi()
Dim i as byte
For i=1 to inputbox("Nombre d'executions:","Macro Rasembler","1")
Call Rasembler
next
end sub

'lSteph

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


Avatar
pellet15
Bonjour ISteph

Cela marche mais je voudrait modifier !!

Avec la réponce du inputbox
je voudrait exécuté la macros
ci la réponce est 1 "Rasembler"
ci la réponce est 2 "nombreDeFichier2"
ci la réponce est 3 "nombreDeFichier3"
ci la réponce est 4 "nombreDeFichier4"

Merci
Avatar
pellet15
Bonjour lSteph

Cela fonctione bien mais je voudrais modifier !

Celon la réponce du "inputBox" je voudrais exécuter les macros
ci réponce est 1 macros "Rasembler"
ci réponce est 2 macros "nombreDeFichier2"
ci réponce est 3 macros "nombreDeFichier3"
ci réponce est 4 macros "nombreDeFichier4"

Merci
Avatar
Ange Ounis
Tu pourrais avoir ce genre d'enchaînement entre tes macros (attention, la
première n'a aucune gestion des erreurs, c'est un exemple minimaliste) :

'''''''''''''''''''''''
Sub Essai()
Select Case InputBox("Entrez un nombre de 1 à 4 :")
Case 1: Macro1
Case 2: Macro2
Case 3: Macro3
Case 4: Macro4
End Select
End Sub

Sub Macro1()
MsgBox "Ici macro 1"
End Sub

Sub Macro2()
MsgBox "Ici macro 2"
End Sub

Sub Macro3()
MsgBox "Ici macro 3"
End Sub

Sub Macro4()
MsgBox "Ici macro 4"
End Sub
'''''''''''''''''''''''

----------
Ange Ounis
----------

Bonjour lSteph

Cela fonctione bien mais je voudrais modifier !

Celon la réponce du "inputBox" je voudrais exécuter les macros
ci réponce est 1 macros "Rasembler"
ci réponce est 2 macros "nombreDeFichier2"
ci réponce est 3 macros "nombreDeFichier3"
ci réponce est 4 macros "nombreDeFichier4"

Merci



Avatar
pellet15
bonjour Ange Ounis


Super cela fonctionne très bien

MERCI BEAUCOUP cela me sauve beaucoup de travaux répititif :-)))))))))