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

Excel Discussion :

Fonction index & Match dans un code VBA [XL-2010]


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Secteur : Services de proximité

    Informations forums :
    Inscription : Janvier 2013
    Messages : 10
    Par défaut Fonction index & Match dans un code VBA
    Bonjour à tous


    pour effectuer une recherche dans une plage variable et retourner une valeur j'ai combiné ces deux fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTERREUR(EQUIV(I2;canal!$A$2:$A$79;0)); INDEX(canal!$A$2:$A$79;EQUIV(data!K2;canal!$D$2:$D$79;0);1);I2)
    Mon souci c'est que j'arrive pas à convertir cette forumle en code VBA



    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
    i = ThisWorkbook.Worksheets("data").Range("F2").End(xlDown).Row
     
    j = Worksheets("canal").Range("B2").End(xlDown).Row
     
    Set RangeNPRNOM = ThisWorkbook.Worksheets("canal").Range("A2: A" & j)
    Set RangeNOM = Worksheets("canal").Range("D2: D" & j)
     
     
    'ThisWorkbook.Worksheets("data").Range("U2").Formula = "=IF(IsError(Match(I2, [RangeNPRNOM], 0)), Index([RangeNPRNOM], Match(Data!K2, [RangeNOM], 0), 1), I2)"
     
    'ThisWorkbook.Worksheets("data").Range("U2").Formula = "=IF(ISERROR(MATCH(I2,Worksheets("canal").Range("A2:A"&j),0)),INDEX(Worksheets("canal").Range("A2:A"&j),MATCH(data!K2,Worksheets("canal").Range("D2:D"&j),0),1),I2)"
     
     
     
     
    Range("U2").AutoFill Destination:=Range("U2: U" & i)

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Essaie comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim RangeNPRNOM As String, RangeNOM As String
        i = ThisWorkbook.Worksheets("data").Range("F2").End(xlDown).Row
        j = Worksheets("canal").Range("B2").End(xlDown).Row
        RangeNPRNOM = "canal!" & Worksheets("canal").Range("A2: A" & j).Address
        RangeNOM = "canal!" & Worksheets("canal").Range("D2: D" & j).Address
     
        ThisWorkbook.Worksheets("data").Range("U2").Formula = _
        "=IF(ISERROR(Match(I2," & RangeNPRNOM & ",0)),INDEX(" & RangeNPRNOM & ",MATCH(data!K2," & RangeNOM & ",0),1),I2)"
        Range("U2").AutoFill Destination:=Range("U2: U" & i)
    Cordialement.

  3. #3
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Afin de t'éviter la conversion en formule anglaise utilise FormulaLocal à la place de Formula

  4. #4
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Secteur : Services de proximité

    Informations forums :
    Inscription : Janvier 2013
    Messages : 10
    Par défaut
    Bonjour les amis
    Merci gFZT82 , la solution marche à merveille
    Jfontaine je vais prendre en considération cela dans mes futurs formula

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

Discussions similaires

  1. [XL-2010] Erreur dans le code VBA - fonction si
    Par ilyaundebutatou dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/11/2010, 13h12
  2. Erreur dans un code VBA
    Par steevassie dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/12/2007, 20h26
  3. Utilisation de la roulette dans le code VBA
    Par electrosat03 dans le forum VBA Access
    Réponses: 6
    Dernier message: 04/07/2007, 14h42
  4. [VBA]Comment, dans le code VBA, hasher un mot de passe ?
    Par lord abortion dans le forum VBA Access
    Réponses: 6
    Dernier message: 18/04/2007, 16h41
  5. Réponses: 2
    Dernier message: 03/05/2006, 08h33

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