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 :

Vlookup pour une colonne


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
    Octobre 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 23
    Par défaut Vlookup pour une colonne
    Bonjour!
    J'ai déjà posé cette question-ci plus tôt, mais sans réponse. Je reformule donc autrement si quelqu'un peut m'aider:
    J'ai un problème avec une formule Vlookup que j'aimerais étendre à toute une colonne (colonne x de N4 à N indéfini). Mais j'ai déjà un problème pour définir cet ensemble de cellule.
    Je ne suis également pas sûre d'utiliser la bonne fonction: Application.WorksheetFunction

    Merci d'avance pour votre aide!

    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 macro1()
     
    Dim LastLig As Long
    Dim tableliens As Workbook
    Dim x As Variant
     
    With Worksheets(2)
    LastLig = .Cells(Rows.Count, 1).End(xlUp).Row
    x = Range(Cells(14, 4), Cells(14, LastLig)).Value
    Set tableliens = Workbooks.Open("K:\XXXX.xls")
     
        With Application.WorksheetFunction
        x = Application.WorksheetFunction.VLookup(Range("M4").Value,tableliens.Range("C2:D142"), 2, False)
        tableliens.Close SaveChange = False
        End With
     End With
    End Sub

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Par défaut
    Bonjour,

    Peux tu m'en dire plus sur Vlookup que je ne trouve pas dans mon aide en ligne.

    A+
    PPz

  3. #3
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 23
    Par défaut
    He bien la fonction VLookup recherche une valeur:

    VLookup( value, table_array, index_number, not_exact_match )

    - value= valeur a rechercher dans la première colonne de "table_array",
    - table_array= colonnes dans lesquelles on recherche la valeur,
    - index_number= numéro de la colonne de "table_array" dans laquelle on a trouvé la valeur,
    - not_exact_match= FALSE pour trouver la valeur exacte, TRUE pour trouver une approximation, auquel cas il cherchera la première valeur plus petite que celle recherchée.

    Ex: VLookup( 3, A1:B35, 2, FALSE) recherche d'abord la valeur 3 dans la première colonne de A1:B35 (donc dans la colonne A) et te donne la valeur de la colonne B associée à ce 3.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 25
    Par défaut
    Bonjour,

    Une boucle est-elle envisageable ?
    Du genre :
    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
     
    Sub macro1()
     
    Dim LastLig As Long
    Dim tableliens As Workbook
    Dim x_full As Variant, x as variant, res as variant
     
    With Worksheets(2)
    LastLig = .Cells(Rows.Count, 1).End(xlUp).Row
    x_full  = Range(Cells(14, 4), Cells(14, LastLig)).Value
    Set tableliens = Workbooks.Open("K:\XXXX.xls")
     
    for each x in x_full
    res = Application.WorksheetFunction.VLookup(x,tableliens.Range("C2142"), 2, False)
    next x
     
    End With
     
    tableliens.Close SaveChange = False
     
    End Sub
    A toi de voir ensuite ce que tu comptes faire du résultat...

  5. #5
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 23
    Par défaut
    J'ai essayé, mais j'ai un problème dans la définition de x_full. Il me dit: application defined or object defined error.

  6. #6
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonjour Isabelle86,

    puis-je te demander de formuler encore autrement ta demande? Que cherches tu à faire, saurais tu l'expliquer sans référence de programmation ?
    Quel est le but car ton X, il ne sert à rien....

    Ceci a-t'il vraiment du sens ?
    J'ai un problème avec une formule Vlookup que j'aimerais étendre à toute une colonne (colonne x de N4 à N indéfini)

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

Discussions similaires

  1. [EJB3 Entity] Valeur par défaut pour une colonne
    Par moha1984 dans le forum Java EE
    Réponses: 1
    Dernier message: 18/05/2009, 18h42
  2. Majuscule auto pour une colonne
    Par devdev dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 19/03/2009, 15h23
  3. Police différente pour une colonne d'une ListView
    Par Médinoc dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/02/2009, 15h28
  4. Largeur fixe pour une colonne de GridView
    Par slokix dans le forum ASP.NET
    Réponses: 11
    Dernier message: 26/09/2007, 09h01
  5. Union de 2 tables pour une colonne
    Par charleshbo dans le forum Langage SQL
    Réponses: 4
    Dernier message: 18/04/2006, 17h23

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