IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

For Loop with On Error GoTo


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 46
    Par défaut For Loop with On Error GoTo
    Bonjour Le Forum,

    J ai une requete sur le code que j essaie de corriger. Pourriez-vous me dire la raison pour laquelle la loop ne s effectue dans la totalite.
    J ai 48 lignes au total, l erreur se trouve a la 10eme par ex. Le code passe sur End Sub avec ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Dim i As Integer
    Dim rngdata As Range
    Dim strtxt As String
     
    Set rngdata = Range(Range("A2"), Range("A2").End(xlDown))
     
    On Error GoTo Fill_Errors
     
    For i = 2 To rngdata.Cells.Count
     
      Range("AD" & i).Value = Application.WorksheetFunction.VLookup(Range("A" & i), Worksheets("LC").Range("A2:I180"), 6, False)
     
    Next i
     
    Fill_Errors:
     
    strtxt = "NI"
     
        Range("AD" & i).Value = strtxt
     
    End Sub
    Merci bien,
    Askan

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    bonjour

    dans ton code, en cas d'erreur tu sort de la boucle donc fin de la routine

    si tu veux effectuer une action en cas d'erreur il faut vérifier s'il y en a eu une et faire le traitement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Dim i As Integer
    Dim rngdata As Range
    Dim strtxt As String
     
    Set rngdata = Range(Range("A2"), Range("A2").End(xlDown))
     
    On Error Resume Next
     
    For i = 2 To rngdata.Cells.Count
     
      Range("AD" & i).Value = Application.WorksheetFunction.VLookup(Range("A" & i), Worksheets("LC").Range("A2:I180"), 6, False)
     
      If Err.Number <> 0 Then
        strtxt = "NI"
        Range("AD" & i).Value = strtxt
      End If
      Err.Clear
    Next i
    On Error GoTo 0

  3. #3
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 46
    Par défaut
    merci Zyhac. Ca marche parfaitement.
    A bientot,
    Askan

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [vb6]On Error goto 0
    Par riesseg dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 20/04/2006, 20h04
  2. On error goto Err : goto non exécutée au 2ème appel
    Par charliejo dans le forum Access
    Réponses: 1
    Dernier message: 11/04/2006, 15h00
  3. [VBA-E]Pb "On Error GoTo"
    Par hdidan dans le forum Macros et VBA Excel
    Réponses: 33
    Dernier message: 04/04/2006, 18h41
  4. Réponses: 12
    Dernier message: 26/01/2006, 14h51
  5. Erreur "For loop variable simple local varaible"
    Par Yepazix dans le forum Langage
    Réponses: 13
    Dernier message: 17/09/2005, 22h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo