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 :

Fonction VlookUp erreur 1004 [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Logisticien
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logisticien
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Fonction VlookUp erreur 1004
    Bonjour,
    Voila j'ai un formulaire contenant des TextBox... Je voudrai en fonction de la valeur d'une première textbox, changer la valeur de la seconde. Les valeurs sont présentes dans une feuille nommé Listing.
    J'obitens l'erreur '1004': Impossible de lire la propriété VlookUp de la classe WorksheetFunction.

    Merci d'avance de votre aide.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub CB_actualiser_Click()
     
    Me.Tb_nom_du_fournisseur.Value = Application.WorksheetFunction.VLookup(Me.Tb_code_fournisseur.Value, Worksheets("Listing").Range("A1:C13052"), 2, False)
     
    End Sub

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Vire ton worksheetfunction: laisse ton application.vlookup

    La formule semble correcte

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Logisticien
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logisticien
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Je viens de modifier cela.
    Il me met désormais
    Erreur d'exécution '-2147352571 (80020005)':
    Impossible de définir la propriété Value. Type mismatch.
    Cela ne peux pas venir du contenu trop long de ma cellule de la colonne 2?

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    C'est quoi le contenu ?

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    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 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Est-ce possible que le nom de ton onglet "Listing" contienne un espace ?
    La formule semble correcte...
    MPi²

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Logisticien
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logisticien
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    C'est une suite de chiffres, cela peut aller jusqu'à 10 chiffres.
    Je viens de vérifier, il n'y a pas d'espace dans le nom de la feuille, je viens de regarder...

  7. #7
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1:C13052").value
    essaie..

    Peux tu nous filer ton classeur ? J'ai déjà rencontré des problèmes avec Vlookup, c'était souvent parce qu'il ne trouvait pas la data...

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Logisticien
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logisticien
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Je viens de modifier les données pour enlever certaines données... J'ai donc réduit au passage la taille de mes datas...
    Merci d'avance
    Fichiers attachés Fichiers attachés

  9. #9
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Ton classeur est défectueux. Je n'arrive pas à résoudre l'erreur et j'ai plein d'erreurs sans raison. Il ne te reste plus qu'à le refaire. Tu peux contourner le problème en alimentant une combobox avec tes codes fournisseurs puis en cherchant la value du listindex dans la colonne 2

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Logisticien
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logisticien
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    J'ai contourné le problème. 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
    20
    21
    22
    23
    24
    25
    26
    27
    Private Sub Cb_maison_Change()
        Application.ScreenUpdating = False
        Dim FindString As String
        Dim Rng As Range
        FindString = Me.Cb_maison.Value
        If Trim(FindString) <> "" Then
            With Sheets("Listing").Range("u:u")
                Set Rng = .Find(What:=FindString, _
                                After:=.Cells(.Cells.Count), _
                                LookIn:=xlValues, _
                                LookAt:=xlWhole, _
                                SearchOrder:=xlByRows, _
                                SearchDirection:=xlNext, _
                                MatchCase:=False)
                If Not Rng Is Nothing Then
                    Application.Goto Rng, True
                    ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate
                    Me.Tb_maison.Value = ActiveCell.Value
     
                Else
                    Me.Tb_maison.Value = ""
                End If
            End With
        End If
        Feuil6.Select
        Application.ScreenUpdating = True
    End Sub

  11. #11
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    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 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Petite parenthèse bien que le sujet soit clos...

    Évite les Select/Activate lorsque c'est possible. Ça ralentit souvent les macros pour rien.

    Ce bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                If Not Rng Is Nothing Then
                    Application.Goto Rng, True
                    ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate
                    Me.Tb_maison.Value = ActiveCell.Value
    devrait pouvoir devenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                If Not Rng Is Nothing Then
                    Me.Tb_maison.Value = Range("V" & Rng.Row).Value
    MPi²

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/07/2014, 10h52
  2. [XL-2007] erreur 1004 sur fonction "decaler"
    Par marcelisa2 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/06/2012, 14h34
  3. [XL-2003] Erreur '1004' et fonction SUM
    Par Yvanou dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/08/2009, 01h16
  4. Affectation de valeur dans un fonction Erreur 1004
    Par ERGOL dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/10/2008, 16h37
  5. Erreur 1004 fonction Workbook.add
    Par jacques64 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/05/2008, 14h18

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