En vba comment faire une boucle sur ma macro et faire qu'il me reclame le nom

  • Initiateur de la discussion Initiateur de la discussion verolyde
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

verolyde

XLDnaute Nouveau
Bjr,

J'ai une macro que je souhaiterai qu'elle se relance jusqu'à la fin du fichier excel :

Sub ordre()
openfichier
EXTRAIREC
End Sub
Sub openfichier()
'
' openfichier Macro
' Macro enregistrée le par VG
ChDir "G:\Direction Région Paris Ile France\RECLAMATIONS\- REPORTING"
Workbooks.Open Filename:= _
"G:\Direction Région Paris Ile France\RECLAMATIONS\- REPORTING\- REPORTING RECL PARIS IDF.xls"
End Sub
Sub EXTRAIREC()

Selection.AutoFilter Field:=1, Criteria1:="EC"
Selection.AutoFilter Field:=7, Criteria1:="M JACQUES"

' Copie de la feuille active

ActiveSheet.Copy
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

'Sauvegarde la copie

ActiveSheet.SaveAs Filename:="G:\Direction Région Paris Ile France\RECLAMATIONS\- REPORTING\ENVOI RECL TOUS LES 15 J\M\RECL MAJ" & Format(Date, "ddmmyy")
'& " " & ActiveSheet.Name

'Envoi Mail

Dim dest As String
dest = "veronique.g@l.net"
ActiveWorkbook.SendMail Recipients:=dest, Subject:="Reporting des réclamations en cours", ReturnReceipt:=True
ActiveWorkbook.Close SaveChanges:=True

Selection.AutoFilter Field:=7

' PUIS REPARTIR SUR UN AUTRE NOM
Selection.AutoFilter Field:=1, Criteria1:="EC"
Selection.AutoFilter Field:=7, Criteria1:="DA SILVA ALVES"

' Copie de la feuille active

ActiveSheet.Copy
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

'Sauvegarde la copie

ActiveSheet.SaveAs Filename:="G:\Direction Région Paris Ile France\RECLAMATIONS\- REPORTING\ENVOI RECL TOUS LES 15 J\A\RECL MAJ" & Format(Date, "ddmmyy")
'& " " & ActiveSheet.Name

'Envoi Mail

Dim dest As String
dest = "veronique.g@l.net"
ActiveWorkbook.SendMail Recipients:=dest, Subject:="Reporting des réclamations en cours", ReturnReceipt:=True
ActiveWorkbook.Close SaveChanges:=True

Selection.AutoFilter Field:=7

End Sub

etc... Je voudrai que la macro dès qu'elle a fini se relance avec un nouveau nom :

ou j'inscris tous les noms dans la macro ou elle me demande à chaque fois qu'elle a fini, un nouveau nom et si terminé j'inscris fin et la macro se termine.

La macro marche bien mais une seule fois, j'aimerai qu'elle se lance plusieurs fois.

Un grand merci pour votre aide !
verolyde
 
Re : En vba comment faire une boucle sur ma macro et faire qu'il me reclame le nom

bonjour

Sub ordre()
do
Réponse=inputbox("le nom","le titre")
if réponse=empty then exit sub

openfichier
EXTRAIREC(Réponse)
loop
End Sub
Sub openfichier()
'
' openfichier Macro
' Macro enregistrée le par VG
ChDir "G:\Direction Région Paris Ile France\RECLAMATIONS\- REPORTING"
Workbooks.Open Filename:= _
"G:\Direction Région Paris Ile France\RECLAMATIONS\- REPORTING\- REPORTING RECL PARIS IDF.xls"
End Sub
Sub EXTRAIREC(Réponse as string)

Selection.AutoFilter Field:=1, Criteria1:="EC"
Selection.AutoFilter Field:=7, Criteria1:=Réponse
' Copie de la feuille active

ActiveSheet.Copy
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

'Sauvegarde la copie

ActiveSheet.SaveAs Filename:="G:\Direction Région Paris Ile France\RECLAMATIONS\- REPORTING\ENVOI RECL TOUS LES 15 J\M\RECL MAJ" & Format(Date, "ddmmyy")
'& " " & ActiveSheet.Name

'Envoi Mail

Dim dest As String
dest = "veronique.g@l.net"
ActiveWorkbook.SendMail Recipients:=dest, Subject:="Reporting des réclamations en cours", ReturnReceipt:=True
ActiveWorkbook.Close SaveChanges:=True

Selection.AutoFilter Field:=7
jp
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour