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 :

IF ERROR VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Femme Profil pro
    Contrôleur de gestion
    Inscrit en
    Août 2020
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Contrôleur de gestion

    Informations forums :
    Inscription : Août 2020
    Messages : 41
    Par défaut IF ERROR VBA
    Bonjour les développeurs, j'utilise le code ci-dessous pour ma rechercheV VBA et je ne sais pas comment introduire iferror.
    La raison pour la quelle je veux l'introduire est que quand la fonction RechercheV ne trouve pas un élément, sa case reste vide alors que moi je veux que la case soit remplie automatiquement par un 0.
    Meeerci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    On Error Resume Next
     
    For d = 1 To 100
     
    Worksheets("FEUIL1").Cells(d, 4).Value = Application.WorksheetFunction.VLookup( _
    Worksheets("FEUIL1").Cells(d, 3).Value, Worksheets("FEUIL2").Range("A:E"), 3, 0)
     
    Next

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    Pas de gestion d'erreur de ce type!

    Utiliser la méthode Find.
    Si la cellule cherchée ne correspond à rien (Nothing) alors affecter la valeur 0.

  3. #3
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    Voici qui devrait fonctionner

    Code vba : 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
    22
    23
    24
    25
    26
    27
     
     
    Option Explicit
    Sub Macro1()
     
    Dim d As Long
    Dim test_erreur As Variant
     
    For d = 1 To 100
     
        test_erreur = Application.VLookup(Sheets("FEUIL1").Cells(d, 3), sheets("FEUIL2").Range("A:E"), 3, False)
     
        If IsError(test_erreur) = False Then
     
            Sheets("FEUIL1").Cells(d, 4) = test_erreur
     
        Else
     
            Sheets("FEUIL1").Cells(d, 4) = 0
     
        End If
     
    Next d
     
    MsgBox "Fin", vbInformation, "Fin"
     
    End Sub

    En PJ le fichier avec le code qui te retourne en D le résultat de ce code et tu as la formule équivalente en E.

    Teste et dis nous.
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour à vous, Bonjour au Forum,

    Je persiste dans ma position.
    La gestion d'une erreur est inopportune ici.

    Il suffit de chercher la valeur test dans la plage.

    Si la recherche est rien, alors affecter 0 à la cellule résultat
    Si la recherche retourne une cellule, alors considérer la cellule placée sur la même ligne, décalée de 3 colonnes.

    Traduction

    A adapter (non testé)

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Option Explicit
     
    Sub test()
     
    Dim dernl As Long
     
    Dim laplage As Range
     
    With Worksheets("FEUIL2")
     
            dernl = .Cells(.Rows.Count, 1).End(xlUp).Row
     
            Set laplage = .Range("A1:A" & dernl)
     
    End With
     
    Dim d As Byte
    Dim t As Range
     
    For d = 1 To 100
     
            Set t = laplage.Find(what:=Worksheets("FEUIL1").Cells(d, 3).Value, LookIn:=xlValues, lookat:=xlWhole)
     
            With Worksheets("FEUIL1").Cells(d, 4)
     
                    If t Is Nothing Then
     
                            .Value = 0
     
                    Else
     
                            .Value = t.Offset(0, 3).Value
                            Set t = Nothing
     
                    End If
     
            End With
     
    Next d
     
    Set laplage = Nothing
     
    End Sub

  5. #5
    Membre averti
    Femme Profil pro
    Contrôleur de gestion
    Inscrit en
    Août 2020
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Contrôleur de gestion

    Informations forums :
    Inscription : Août 2020
    Messages : 41
    Par défaut
    MERCI LES DÉVELOPPEURS LES 2 CODES MARCHENT A MERVEILLES . MERCI INFINIMENT

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

Discussions similaires

  1. [XL-2010] Error VBA déclaration
    Par idhmida dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 13/12/2013, 14h16
  2. [VBA][recordset]pb update error 3061 too few parameters
    Par megapacman dans le forum Access
    Réponses: 2
    Dernier message: 23/03/2006, 16h11
  3. [VBA-E] Structure de On Error
    Par skual dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/03/2006, 16h17
  4. [vba][Array]pb compile error
    Par megapacman dans le forum Access
    Réponses: 2
    Dernier message: 18/03/2006, 09h24
  5. Réponses: 9
    Dernier message: 08/03/2006, 16h04

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