Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Problème gestion erreur dans boucle

  • Initiateur de la discussion Initiateur de la discussion yeti_yeti
  • 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 !

yeti_yeti

XLDnaute Junior
Bonjour,

Je m'arrache les cheveux avec une gestion d'erreur en If/Then/Else
J'aimerais que s'il ne trouve pas le fichier demandé, il passe à l'incrémentation suivante... or si je fais ça, j'ai une "Compile Error: Next Without For" alors que j'ai bien un For lié à ce Next...

Code:
Private Sub Test() 
    Dim sCopy As Variant
    Set sCopy = ThisWorkbook.Sheets(14)
  
    For i = 2 To sCopy.Cells(1, 17).Value
        filenam = ThisWorkbook.Path & "\" & sCopy.Cells(i, 3) & ".jpg"
        
         On Error Resume Next
        sCopy.Pictures.Insert (filenam)
        If Err.Number = 1004 Then
            Next i
        Else
            'Reste du code ici
        End If
    Next i
End Sub

Quelqu'un a-t-il des yeux et un cerveau que je n'ai plus? 🙂
Merci d'avance!

Salutations
 
Bonjour

A tester:

Private Sub Test()
Dim sCopy As Variant
Set sCopy = ThisWorkbook.Sheets(14)
For i = 2 To sCopy.Cells(1, 17).Value
filenam = ThisWorkbook.Path & "\" & sCopy.Cells(i, 3) & ".jpg"
On Error Resume Next
sCopy.Pictures.Insert (filenam)
If Err.Number <> 1004 Then
'Reste du code ici
End If
Next i
End Sub
 
Bonjour pierrejean.
Il me semble qu'il faudrait soit un On Error GoTo 0 après, soit mettre le On Error Resume Next au début, mais un Err.Clear avant, sinon l'erreur va resté positionnée lors du traitement des suivants.
 
Bonjour,

Merci pour vos réponses. J'ai finalement réussi à faire ce que je voulais faire:

Code:
Private Sub Test()
   
    Dim sCopy As Variant
    Set sCopy = ThisWorkbook.Sheets(14)

    For i = 2 To sCopy.Cells(1, 17).Value       
         filenam = ThisWorkbook.Path & "\" & sCopy.Cells(i, 3) & ".jpg"
         
         On Error GoTo EH
        sCopy.Pictures.Insert (filenam)
       
           'Reste du code ici
           
EH:
    If Err Then
        Err.Clear
    End If
    Next i

End Sub
 
- 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

Discussions similaires

Réponses
5
Affichages
478
Réponses
5
Affichages
707
Réponses
4
Affichages
581
Réponses
4
Affichages
672
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…