Sortie boucle après Exit Sub
M
Bonjour tout le monde,
j'ai besoin de votre aide à nouveau.
Dans une fonction je chercher à sortir de ma boucle en cas d'erreur mais l'instruction Exit sub ne me permet pas de revenir au début de ma fonction.
Je pense qu'on peut jouer sur les fonctions et les booléens mais malgré ça, ça ne fonctionne pas et je suis donc revenu au code initial que voici:
Sub enregistrer_classeur()
Dim chemin As String, nomFichier As String, SujetMail As String, SignatureMail As String
'déclaration des variables ici (volontairement effacé pour ne pas charger le code)
ActiveSheet.Name = Left(Cells(1, 1), InStr(Cells(1, 1), " ") + 1)
MaRecherche = ActiveSheet.Name
For Each cell In plage
Recherche = InStr(1, cell, MaRecherche)
If MaRecherche = 0 Or MaRecherche = "AA_Votre n" Then
MsgBox ("CHOISISSEZ VOTRE NOM D'AGENT DANS LA LISTE EN HAUT A GAUCHE AVANT D'ENVOYER VOS DISPOS")
Exit Sub
Else
suite du codeBonjour Micka et bienvenu, bonjour le forum,
Peut-être comme ça (il manque des variables dans ton code)
Sub enregistrer_classeur()
Dim chemin As String, nomFichier As String, SujetMail As String, SignatureMail As String
Dim MaRecherche As String 'non déclarée
dim cell as range 'non déclarée
Dim plage As Range 'non déclarée
'set plage = a définir !?...
ActiveSheet.Name = Left(Cells(1, 1), InStr(Cells(1, 1), " ") + 1)
MaRecherche = ActiveSheet.Name
For Each cell In plage
Recherche = InStr(1, cell, MaRecherche)
If MaRecherche = 0 Or MaRecherche = "AA_Votre n" Then
MsgBox ("CHOISISSEZ VOTRE NOM D'AGENT DANS LA LISTE EN HAUT A GAUCHE AVANT D'ENVOYER VOS DISPOS")
Exit For
Else
'suite du code
End If
Next cell
End SubM
Bien vu le Exit for mais ça ne fonctionne pas:
Voici mon code avec la déclaration des variables comme évoqué plus haut
Sub enregistrer_classeur()
Dim chemin As String, nomFichier As String, SujetMail As String, SignatureMail As String
Dim MaRecherche As String
Dim cell As Range
Dim plage As Range
Dim MaMessagerie As Object
Dim MonMessage As Object
ActiveSheet.Name = Left(Cells(1, 1), InStr(Cells(1, 1), " ") + 1)
chemin = ThisWorkbook.Path
SujetMail = Left(Cells(1, 1), InStr(Cells(1, 1), " ") + 1) & (" - ") & Range("AK2")
SignatureMail = Left(Cells(1, 1), InStr(Cells(1, 1), " ") + 1)
Set plage = Worksheets("Personnels").Range("A2:A100")
MaRecherche = ActiveSheet.Name
For Each cell In plage
Recherche = InStr(1, cell, MaRecherche)
If MaRecherche = 0 Or MaRecherche = "AA_Votre n" Then
MsgBox ("CHOISISSEZ VOTRE NOM D'AGENT DANS LA LISTE EN HAUT A GAUCHE AVANT D'ENVOYER VOS DISPOS")
Exit For
ElseM
Soldé par le remplacement de mon bouton de lancement par un activex