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 :

Evaluate Max if avec plage variable [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Novembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2019
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Evaluate Max if avec plage variable
    Bonjour à tous

    Je m'arrache les derniers cheveux qu'il me reste sur la façon d'intégrer une plage variable dans la fonction max sous forme matricielle.
    J'ai beau ajouter des guillemets ajouter des & ou encore combiner les 2, ça ne fonctionne pas

    La partie x fonctionne
    La partie y ne fonctionne pas

    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
    Sub Test()
     
     
    Set plage1 = Range("A1:A5")
    adresse1 = plage1.Address
     
    Set plage2 = Range("B1:B5")
    adresse2 = plage2.Address
     
    x = Evaluate([MAX(IF(A1:A5="A",ROW(A1:A5)))])
    MsgBox x
     
    y = Evaluate([MAX(IF( & adresse1 & ="A",ROW(adresse1)))])
    MsgBox y
     
    End Sub
    Père dodu, j'en peux pluuuuuuussssssss

  2. #2
    Membre expérimenté
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 747
    Points : 1 332
    Points
    1 332
    Par défaut
    Bonsoir,

    Si tu veux concaténer, il te faut des guillemets

    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
    Sub Test() 
     
    Set plage1 = Range("A1:A5")
    adresse1 = plage1.Address
     
    Set plage2 = Range("B1:B5")
    adresse2 = plage2.Address
     
    x = Evaluate("MAX(IF(A1:A5=""A"",ROW(A1:A5)))")
    MsgBox x
     
    y = Evaluate("MAX(IF(" & adresse1 & "=""A"",ROW(" & adresse1 & ")))")
    MsgBox y
     
    End Sub

  3. #3
    Candidat au Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Novembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2019
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour tototiti2008

    Merci pour la réponse.
    Je suis tout à fait au fait qu'il faille des guillemets.
    Je constate que le résultat est là et que cela fonctionne. Merci beaucoup pour ton aide.

    Ceci dit, je ne comprends pas que cela fonctionne alors la forme matricielle a disparu (disparition des [] au profit des "").

  4. #4
    Candidat au Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Novembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2019
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Re,

    si je veux passer une valeur en variable et non en dur comme dans mon exemple avec la valeur A, ça ne fonctionne plus avec le code suivant:
    Y1 ça marche, Y2 erreur 2029

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Test2()
     
    valeur = "A"
     
    Set plage1 = Range("A1:A5")
    adresse1 = plage1.Address
     
    y1 = Evaluate("MAX(IF(" & adresse1 & "=""A"",ROW(" & adresse1 & ")))")
    y2 = Evaluate("MAX(IF(" & adresse1 & "=" & valeur & ",ROW(" & adresse1 & ")))")
     
    End Sub

  5. #5
    Membre chevronné
    Inscrit en
    Septembre 2007
    Messages
    1 134
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 134
    Points : 1 808
    Points
    1 808
    Par défaut
    Bonjour,
    Citation Envoyé par X-Ray92 Voir le message
    si je veux passer une valeur en variable et non en dur comme dans mon exemple avec la valeur A, ça ne fonctionne plus
    Il te manque encore des "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    y2 = Evaluate("MAX(IF(" & adresse1 & "=" & """" & valeur & """" & ",ROW(" & adresse1 & ")))")

  6. #6
    Candidat au Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Novembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2019
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci pour tout

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

Discussions similaires

  1. Min et max avec plage variable
    Par Alex86 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/05/2016, 11h08
  2. VBA - Graphique avec plage variable
    Par virstyle dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/06/2010, 11h48
  3. comparaison de 2 feuille avec plage variable
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/04/2009, 21h49
  4. Création de validation de donnée avec plage variable
    Par Krovax dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/02/2009, 13h14
  5. Fonction "SOMME.SI" avec plage variable
    Par marc56 dans le forum Excel
    Réponses: 3
    Dernier message: 26/11/2008, 15h52

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