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 :

Macro VBA RechercheV / Erreur [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut Macro VBA RechercheV / Erreur
    Bonjour,

    Je me permets de faire ce post car je n’ai trouvé aucun résultat favorable, ni sur ce site ni sur internet.

    J’ai toujours un message d’erreur quand je lance la macro. Erreur 1004.

    Voici ma macro

    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
    Sub DEP54()
     
    Dim CP As Variant
    CP = Cells(6, 2)
    Dim GAUCHECP As Variant
    GAUCHECP = Left(CP, 2)
    Dim VALEUR As Variant
    VALEUR = Application.WorksheetFunction.VLookup(CP, LISTECP54, 2, False).Value
     
     
    If VALEUR = NORD Then
        Sheets("Feuil2").Range("A10") = "METZ"
    Else
        Sheets("Feuil2").Range("A10") = "NANCY"
     
    End If
    End Sub
    SI vous trouvez une erreur ! Vous me sauvez mon après midi

    Cordialement .

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Premièrement dans ceci, pourquoi ajouter .Value ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VALEUR = Application.WorksheetFunction.VLookup(CP, LISTECP54, 2, False).Value
    Et que vaut LISTECP54 ?

    Finalement, qu'est-ce que NORD ici ?
    Est-ce une variable ou une valeur String ?

  3. #3
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Une proposition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim VALEUR
    'si "LISTECP54" est une plage nommée
    VALEUR = Application.WorksheetFunction.VLookup(CP, Range("LISTECP54"), 2, False)
     
     
    If VALEUR = "NORD" Then
        Sheets("Feuil2").Range("A10") = "METZ"
    Else
        Sheets("Feuil2").Range("A10") = "NANCY"
     
    End If
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  4. #4
    Membre confirmé
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut
    Bonjour,

    Merci de vos réponses,

    Erreur de ma part sur le .value, je le vire.

    LISTECP54 correspond à une plage nommée.

    NORD est une valeur fixe présente dans la seconde colonne de la plage "LISTECP54".
    (en fonction du code postal de la ville, la valeur de la seconde colonne est soit "NORD" soit "SUD").

    Je vais tester ta proposition casefayere.
    TEST effectué, toujours le même message d'erreur.

    Encore désolé pour mes erreurs, je suis débutant et je ne sais pas vraiment par ou commencer du coup je suis un peux brouillon.

    Cordialement.

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Pas d'erreur sur un fichier grossier que je testé, envoies donc un fichier allégé
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Membre confirmé
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut
    Et voila j'ai confectionné un classeur "allégé"

    TEST1.zip

  7. #7
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    tu pars de ta feuille 2 donc précises le nom de feuille pour la recherche
    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
    Private Sub CommandButton1_Click()
    Dim CP As Variant
    CP = Cells(6, 2)
    Dim GAUCHECP As Variant
    GAUCHECP = Left(CP, 2)
    Dim VALEUR
    VALEUR = Application.WorksheetFunction.VLookup(CP, Sheets("LISTECP").Range("LISTECP54"), 2, False)
     
     
    If VALEUR = "NORD" Then
        Sheets("Feuil2").Range("A10") = "METZ"
    Else
        Sheets("Feuil2").Range("A10") = "NANCY"
     
    End If
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Personnellement, je n'aime pas utiliser de noms, alors voici une autre méthode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CommandButton1_Click()
        Dim CP As Variant
        CP = Cells(6, 2)
     
        Dim VALEUR As Variant
        VALEUR = Application.WorksheetFunction.VLookup(CP, Sheets("LISTECP").Columns("A:B"), 2, False)
     
        If VALEUR = "NORD" Then
            Sheets("Feuil2").Range("A10") = "METZ"
        Else
            Sheets("Feuil2").Range("A10") = "NANCY"
        End If
    End Sub

  9. #9
    Membre confirmé
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut
    Merci beaucoup ça fonctionne mieux !!!

    Vous êtes les meilleurs.

    Cordialement.

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

Discussions similaires

  1. [XL-2007] erreur macro vba excel 2007
    Par yan14 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 22/02/2012, 23h04
  2. Message d'erreur Macro VBA
    Par debutVBA dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/01/2012, 10h48
  3. Bug Macro VBA, Selection=erreur 2036
    Par scorecard dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/03/2011, 11h21
  4. [VBA-E] Macro boucle for (erreur 424)
    Par vanexq dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 14/09/2010, 13h58
  5. Erreur 400 après lancement Macro VBA Excel
    Par ananar dans le forum Macros et VBA Excel
    Réponses: 36
    Dernier message: 23/08/2008, 14h33

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