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 :

Max ou Min de Sumifs probleme de syntaxe?


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Panama

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Santé

    Informations forums :
    Inscription : Février 2017
    Messages : 14
    Points : 13
    Points
    13
    Par défaut Max ou Min de Sumifs probleme de syntaxe?
    Bonjour à tous!

    Je cherche à récuperer le max ou le min dún SumIfs de deux criteres: j'effectue le sumIfs sur chaque colonne, en parcourant une à une les colonnes de ma table, puis en fonction d'un booleen, j'enregistre si la valeur est supérieur ou inférieure-

    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
    Function min_or_max(B As Boolean, table As Range, col1 As Range, c1 As Cell, col2 As Range, c2 As Cell)
    Dim column As Range
     
    'If B = False Then
    min_or_max = 0
    'For Each column In Range.Columns
    If Application.WorksheetFunction.SumIfs(column, col1, c1, col2, c2) > min_or_max Then
    min_or_max = Application.WorksheetFunction.SumIfs(colummn, col1, c1, col2, c2)
    End If
    'Next column
     
    'Elsif B = True
    'min_or_max = 10000000
    'For Each column In Range.Columns
     '   If Application.WorksheetFunction.SumIfs(Range.Columns(i), col1, c1, col2, c2) < min_or_max Then
      '  min_or_max = Application.WorksheetFunction.SumIfs(Range.Columns(i), col1, c1, col2, c2)
       ' End If
    'Next column
    End Function
    Mon code ne fonctionne pas , et le blocage se fait au niveau de Sumifs: en retirant toutes les boucles je n'ai que #VALUE
    Je dois dire que la page d'aide de la fonction n'est pour moi pas tres claire: https://msdn.microsoft.com/fr-fr/vba...s-method-excel
    Dois-je mettre:
    1. plage de somme
    2. PLage de test 1, plage de test 2
    3. critere 1, critere 2

    Ou est ce dans un autre ordre? la page indique arg2 = plages sur lesquels on effectue les tests...

    Quelqu'un a t il une idée?

    Merci d'avance!

    Drf

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Bonjour,

    Tu dois suivre le même principe que la formule SOMME.SI.ENS

    1e item est la colonne à additionner
    2e item est la colonne de valeurs à vérifier
    3e item est le critère à trouver dans le précédent
    4e item est la colonne de valeurs à vérifier
    5e item est le critère à trouver dans le précédent
    ....

    Mais dans ton code, tu as mis des lignes en commentaires, donc Column ne vaut rien
    MPi²

  3. #3
    Membre à l'essai
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Panama

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Santé

    Informations forums :
    Inscription : Février 2017
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    Hello!

    Donc ma syntaxe est ok?!
    Bon point pour la boucle, ceci dit, meme en mettant range.columns(1), cela ne marche pas!!

    David

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    La notation
    n'existe pas en matière de notation d'un objet range. Une colonne est déjà un objet range.
    Existe la notation
    Edit : par ailleurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each column In Range.Columns
    ne saurait avoir de sens.
    Columns peut être la propriété d'un objet Range défini/spécifié, ce que n'est pas Range (au demeurant mot réservé de VBA, de surcroît).
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 926
    Points
    55 926
    Billets dans le blog
    131
    Par défaut
    Salut,

    Pourrais-tu donner une copie d'écran d'une partie de la plage que tu souhaites traiter ainsi qu'un exemple de ce que tu souhaites obtenir?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre à l'essai
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Panama

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Santé

    Informations forums :
    Inscription : Février 2017
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    Patates.xlsm

    Hello,

    Voici ce que je cherche à faire (bien entendu avec quelques colonnes & lignes en plus)

    J'avoue que je n'au aucune idée de ce qui ne fonctionnne pas!

    Merci d'avance à tout ceux qui répondent et meme ceux qui prennent le temps de lire!

    drf

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/05/2008, 13h56
  2. [VB.NET] Probleme de syntaxe
    Par microthib dans le forum Windows Forms
    Réponses: 4
    Dernier message: 17/03/2005, 13h49
  3. probleme fonction syntaxe
    Par gIch dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/02/2005, 09h52
  4. [Débutante] Problèmes de syntaxe
    Par new_wave dans le forum Prolog
    Réponses: 4
    Dernier message: 02/11/2004, 18h39
  5. Problemes de syntaxe
    Par maahta dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 01/10/2003, 13h40

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