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 :

Recherche VBA, fct Evaluate [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 7
    Par défaut Recherche VBA, fct Evaluate
    Bonsoir,
    j'ai un soucis tout bête je pense, mais je n'y arrive vraiment pas.
    J'ai donc la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").Range("B7") = (Evaluate("INDEX(C2:C13,match(1,(A2:A13=""AAA2552"")*(B2:B13=""AHTTA25""),0))")) * (Sheets("Feuil2").Range("B4"))
    Qui marche
    et je cherche juste à l'automatiser avec un balayage qui vas aller lire les cellules adjacentes Pour le premier critère et les cellules inférieures pour le second.

    J'ai donc fait cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For j = 0 To 10
    For i = 0 To 20
     
    Sheets("Feuil1").Cells(7, 2 + i) = (Evaluate("INDEX(C2:C13,match(1,(A2:A13=""Cells(3, 2 + i )"")*(B2:B13=""Cells(7+j,1)""),0))")) * (Sheets("Feuil2").Range(Cells(4, 2 + i)))
     
    Next
    Next
    1ère cellule de recherche caractère du genre :AAA2552...2553...AAB2556...
    2ème cellule de recherche caractère du genre : AHTTA25..28...BFTTO35...
    Cellule recherchée du genre integer :0 5 10 20

    Mais il bloque sur les ""Cells(3, 2 + i )"" et je ne vois pas comment faire...
    Si vous avez une idée de la façon dont je peux identifier ces cellules dont je veux rechercher la valeur d'une 3 ème case...
    Merci, bonne soirée

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonsoir,
    essaie ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Evaluate("INDEX(C2:C13,match(1,(A2:A13=""" & Cells(3, 2 + i ) &""")...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 7
    Par défaut
    Merci, mais cela donne toujours la même erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").Cells(7, 2 + i) = (Evaluate("INDEX(C2:C13,match(1,(A2:A13=""" & Cells(3, 2 + i) & """)*(B2:B13=""" & Cells(7 + j, 1) & """),0))")) * (Sheets("Feuil1").Range("& Cells(4, 2 + i) &"))
    J'ai testé en variant les cellules aussi avec des cellules qui marchent normalement, le rajout de " & cells() & " entraîne la même erreur.

    Il faut certainement, changer tous les Cells(7,2+i) ?
    Je débute sous vba donc, je ne comprends pas forcement tout le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").Range("B7") = (Evaluate("INDEX(C2:C13,match(1,(A2:A13=""" & Cells(3, 2 + i) & """)*(B2:B13=""AAATT5""),0))")) * (Sheets("Feuil1").Range("B4"))
    Ici seulement un changement par rapport à la ligne de code qui marche mais quand même une erreur.

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    J'avais corrigé simplement l'écriture (si je ne me trompe pas)
    Cells(3, 2 + i) donne la cellule de la ligne 3 et la colonne 2+i

    à la fin, corrige
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").Cells(7, 2 + i) = (Evaluate("INDEX(C2:C13,match(1,(A2:A13=""" & Cells(3, 2 + i) & """)*(B2:B13=""" & Cells(7 + j, 1) & """),0))")) * (Sheets("Feuil1").Cells(4, 2 + i))
    sinon,
    si tu essayes simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").Cells(7, 2 + i) = (Evaluate("INDEX(C2:C13,match(1,(A2:A13=" & Cells(3, 2 + i) & ")*...
    (sans les triple guillemets)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 7
    Par défaut
    Me revoilà, merci pour ton aide, après pas mal de temps, j'ai trouvé l'expression exacte pour ma formule ! Pas évidente quand même au premier abord, et sans ton aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil5").Cells(u, m) = (Evaluate("INDEX(C2:C13,match(1,(B2:B300=""" & Sheets("Feuil1").Cells(u, 1) & """)*(A2:A300=""" & Sheets("Feuil1").Cells(3, m) & """),0))"))
    Je déconseille de mettre un 1+u ou un truc similaire dedans, car cela fait des soucis d'incrémentation (ou bien, je ne suis pas assez doué)
    Plage C: endroit de la recherche
    Plage B: première recherche dans cette plage de Cellule(u,i)
    Plage A: seconde recherche dans cette plage de Cellule(3,m)

    Fonction très pratique pour trouver une valeur à partir de deux critères de recherche !

    Par contre, je ne connais pas l'équivalent pour une recherche d'un seul critère et si cette fonction est adaptable pour un cas.


    Merci pour ton aide !
    Résolu mais je ne sais pas le mettre.

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

Discussions similaires

  1. Systéme de recherche vba
    Par akmer dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/08/2008, 18h59
  2. Problème recherche vba
    Par stargates dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 16/05/2008, 21h19
  3. Recherche VBA sous PowerPoint
    Par jonath2210 dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 25/10/2007, 08h48
  4. Recherche VBA dans plusieurs colonnes.
    Par madchemiker dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/07/2007, 14h09
  5. VBA Excel - Evaluation formule
    Par mimic50 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2006, 18h34

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