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 :

[VBA-E] Gestion d'une erreur #N/A


Sujet :

Macros et VBA Excel

  1. #1
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut [VBA-E] Gestion d'une erreur #N/A
    (RE)Bonjour,

    J'ai un code qui lit un fichier Excel ligne par ligne dans une colonne.Le problème c'est que si une cellule contient
    la valeur #N/A, l'application se met en erreur.J'ai bien essayé le :

    on error resume next

    ou le

    if err.number="2042" then
    resume next
    end if


    Mais ça fonctionne pas

    Voici mon code :

    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
    For Each Cellule In Plage 'Fichier_Source
     
        On Error Resume Next
     
            If Trim(Cellule) = Trim(Cellule2) Then
     
            'code------------------------
     
            End If
     
        Next
     
    'code ----------------
     
    Next
     
    'code---------------
     
    End Sub

  2. #2
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 72
    Points : 78
    Points
    78
    Par défaut
    que contienne ces lignes du texte ou des chiffres?

    si c des chiffres tu n a qu tester avant pour voir si tu peux realiser ta procedure et ne pas avoir d'erreur

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonjour

    j'espere que cet exemple pourra t'aider .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim Valeur As Range
     
    For Each Valeur In Sheets("Feuil1").Range("A1:A100")
    If Not WorksheetFunction.IsErr(Valeur) = True Then
    '
    'ma procedure
    '
    End If
    Next

    bonne journée
    michel

  4. #4
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut
    Malheureusement non cela ne gère pas mon erreur #N/A

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonsoir

    que veux tu dire par "cela ne gère pas mon erreur #N/A" ?
    tu as un message d'erreur ?
    si oui equel ?
    peux tu montrer la procedure que tu as utilisé ?


    chez moi cela fonctionne bien ...


    bonne soiree
    michel

  6. #6
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    If Cellule.Value = "" Then
    en attendant qu'un pro VBA vienne : Value ne serait pas réservé à du numérique alors que "" est du string ?
    ben çà alors ! le temps que je réponde et... le message auquel je répondais a disparu !!!!!
    Comme je suis toujours très prudent et que je note tout, le message était le suivant :
    For Each Cellule In Plage
    If Not WorksheetFunction.IsErr(Cellule) = True Then
    If Cellule.Value = "" Then
    NbLigneBlanche = NbLigneBlanche + 1
    LigneBlanche = True
    End If
    end if
    Next



    l'erreur est "incompatibilité de type" et elle intervient uniquement lorsque il y a #N/A dans la colonne

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    rebonsoir

    Oouupps...excuse moi , tu as raison

    essayes plutot cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not WorksheetFunction.IsNA(Cellule) = True Then

    bonne soiree
    michel

  8. #8
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For Each Cellule In Plage
    If Not WorksheetFunction.IsErr(Cellule) = True Then
    If Cellule.Value = "" Then
        NbLigneBlanche = NbLigneBlanche + 1
        LigneBlanche = True
        End If
    End If
    Next
    Voici mon code...je souhaiterais qu'il m'indique l'erreur mais je souhaiterais par la meme occasion qu'il continue dans la boucle

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonsoir

    as tu essayé la modification proposée dans mon message de 19:26


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For Each Cellule In Plage 
    If Not WorksheetFunction.IsNA(Cellule) = True Then
    If Cellule.Value = "" Then 
        NbLigneBlanche = NbLigneBlanche + 1 
        LigneBlanche = True 
        End If 
    End If 
    Next

    bonne soiree
    michel

  10. #10
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut
    Parfait SilkyRoad ça fonctionne !!


    Merci !

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

Discussions similaires

  1. Gestion d'une erreur
    Par Just-Soft dans le forum Langage
    Réponses: 3
    Dernier message: 15/09/2008, 14h41
  2. Réponses: 15
    Dernier message: 13/10/2007, 11h39
  3. Gestion d'une erreur de cmde Windows
    Par kenny49 dans le forum Windows XP
    Réponses: 1
    Dernier message: 23/04/2007, 12h35
  4. Réponses: 2
    Dernier message: 09/06/2006, 14h38
  5. gestion d'une erreur
    Par Jeannotc dans le forum Bases de données
    Réponses: 8
    Dernier message: 25/06/2004, 18h04

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