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 :

Index Equiv en VBA [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Chargée de missions
    Inscrit en
    Janvier 2016
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargée de missions

    Informations forums :
    Inscription : Janvier 2016
    Messages : 73
    Par défaut Index Equiv en VBA
    Bonjour (ou rebonjour)

    J'essaie de remplir un classeur à l'aide d'un Index-Equiv : en effet, je dois trouver la valeur commune entre un identifiant et un nom de colonne.

    J'ai trouvé ce code sur internet (que j'ai adapté), qui me semble fonctionnel, mais j'ai l'erreur #N/A qui apparaît lorsque je souhaite boucler le remplissage.

    L'onglet "SOURCE" correspond à la source de mes données
    La plage "A1:A8" correspond à ma colonne d'identifiant
    La plage "A1:C1" correspond à ma ligne de champs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test_rempli()
    For J = 5 To 6 'Pour les colonnes de 5 à 6
    For I = 2 To 8 'Pour les lignes de 2 à 8
        a = Application.Match(I, Sheets("SOURCE").Range("A1:A8"), 0)
        b = Application.Match(J, Sheets("SOURCE").Range("A1:C1"), 0)
        Cells(I, J) = Application.Index(Sheets("SOURCE").Range("A2:C8"), a, b)
    Next
    Next
    End Sub
    Mes noms de champs sont rigoureusement identiques d'un onglet à l'autre. De même, les identifiants dans l'onglet de résultats sont tous présents dans l'onglet source.

    En essayant de remplir le classeur sans boucle, j'y arrive parfaitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test_rempli()
        a = Application.Match(Range("A2"), Worksheets("SOURCE").Range("A1:A8"), 0)
        b = Application.Match(Range("E1"), Worksheets("SOURCE").Range("A1:C1"), 0)
        Range("E2") = Application.Index(Worksheets("SOURCE").Range("A2:C8"), a, b)
    End Sub

    EDIT : Ah bah non c'est bon j'ai trouvé toute seule d'où venait le soucis (j'oubliais le "cells" après le application.Match...) Désolée !


    Je sais que la politique du forum est d'éviter au maximum l'envoi de pièces jointes. Si malgré tout, vous en avez besoin, n'hésitez pas à me la demander.
    Merci et bonne soirée !

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, de toute façon à lire et relire : Les fonctions Index et Equiv

  3. #3
    Membre du Club
    Homme Profil pro
    Energéticien
    Inscrit en
    Novembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Energéticien
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2018
    Messages : 7
    Par défaut Code définitif
    Bonjour PIX Elle,

    Pouvez m'envoyer le code définitif svp. J'ai un message d'erreur " incompatibilité de type". Merci à vous.

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

Discussions similaires

  1. [XL-2007] Fonction INDEX + EQUIV sous VBA
    Par ti_mouton dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 15/07/2015, 09h18
  2. Transformer et adapter INDEX/EQUIV en boucle vba
    Par Akhlan dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 26/02/2013, 11h42
  3. Réponses: 7
    Dernier message: 11/08/2012, 17h49
  4. probleme index+equiv en vba
    Par lps02 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/05/2012, 17h38
  5. Index - Equiv en VBA
    Par JudRos dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/10/2011, 08h53

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