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 :

Comment utiliser "Application.SumProduct" ? [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Assistant technique
    Inscrit en
    Février 2007
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Assistant technique
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2007
    Messages : 336
    Par défaut Comment utiliser "Application.SumProduct" ?
    Hello,

    Pourriez-vous m'expliquer comment utliser "Application.SumProduct" s'il vous plaît ?

    Car j'ai le message d'erreur suivant : Incompatibilité de type

    J'ai lu l'aide en ligne mais je ne comprends que la moitié des explications

    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
    Dim dte1 As Long, dte2 As Long
     
    dte1 = InputBox("Date de début :")
    dte2 = InputBox("Date de fin :")
     
    Dim tabP As Variant, tabB As Variant, tabC As Variant
     
    tabP = Array(1, 2, 3, 4, 5, 6)
     
    tabB = Range("b2:b65536")
     
    tabC = Range("c2:c65536")
     
    Range("h2") = Application.SumProduct((tabC = tabP(1)) * (tabB >= dte1) * (tabB <= dte2))
    Merci par avance

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,

    Sans avoir regarder ton code, la syntaxe est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.worksheetfunction.SumProduct
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre éclairé
    Homme Profil pro
    Assistant technique
    Inscrit en
    Février 2007
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Assistant technique
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2007
    Messages : 336
    Par défaut
    Ca ne fonctionne jamais chez moi "application.worksheetfunction"

    Je suis toujours obligé d'enlever le "worksheetfunction"

    EDIT: mais j'essaye toujours les deux à chaque fois

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Peut-être un problème de références, va voir dans outils => references, décoches les références éventuellement manquantes. Regardes quelles références sont cochées, mais je ne suis pas sur que le problème vienne de là.
    La formule est peut-etre incorrecte ?
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre éclairé
    Homme Profil pro
    Assistant technique
    Inscrit en
    Février 2007
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Assistant technique
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2007
    Messages : 336
    Par défaut
    Alors j'ai été dans Références, et voici ce qui est coché :

    Visual Basic For Applications

    Microsoft Excel 11.0 Object Library

    OLE Automation

    Microsoft Office 11.0 Object Library




    Est-ce que je dois cocher d'autres références ?

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Non, ça devrait suffire mais je reste étonné, peut-être que pour cette fonction, il faut suivre les conseils de Michel_M, mais j'aimerai savoir si pour les autres fonctions, ton echec est le même ?
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Par défaut
    Bonjour,

    En VBA,Tu ne peux pas utiliser SUMPRODUCT avec worksheetfunction

    Tu peux toutefois essayer avec la fonction EVALUATE....

    Si j'ai un exemple dans mon grenier, je te l'envoie...

    Remarque: on peut utiliser Application.la formule sans Worksheetfunction
    la forme Application.Worksheetfunction.la formule est la syntaxe "des écoles"

  8. #8
    Membre éclairé
    Homme Profil pro
    Assistant technique
    Inscrit en
    Février 2007
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Assistant technique
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2007
    Messages : 336
    Par défaut
    Citation Envoyé par Michel_M Voir le message
    Bonjour,

    En VBA,Tu ne peux pas utiliser SUMPRODUCT avec worksheetfunction

    Tu peux toutefois essayer avec la fonction EVALUATE....

    Si j'ai un exemple dans mon grenier, je te l'envoie...

    Remarque: on peut utiliser Application.la formule sans Worksheetfunction
    la forme Application.Worksheetfunction.la formule est la syntaxe "des écoles"
    Ok tu me rassure

    En revanche pour EVALUATE j'ai réussi mais j'aimerais m'en passer car ça me mets des formules dans les cellules

    C'est pour ça que je veux utiliser directement Application.SumProduct

    Citation Envoyé par casefayere Voir le message
    Non, ça devrait suffire mais je reste étonné, peut-être que pour cette fonction, il faut suivre les conseils de Michel_M, mais j'aimerai savoir si pour les autres fonctions, ton echec est le même ?
    Pour les autres fonctions j'avais eu le même soucis, mais c'était une erreur de syntaxe

    Donc la je pense que c'est pareil, j'ai mal utiliser SumProduct, mais je ne sais pas pourquoi

    Donc j'espère que quelqu'un qui est habitué à utiliser cette fonction passe par là, afin qu'il voit ce qui est incorrect dans mon code

  9. #9
    Membre émérite

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Par défaut
    Citation Envoyé par wyzer Voir le message
    Ok tu me rassure

    En revanche pour EVALUATE j'ai réussi mais j'aimerais m'en passer car ça me mets des formules dans les cellules
    non ca ne met pas de formules dans les cellules
    J'ai fait des fouilles "archélogiques" dans le grenier mais...

    ci joint topo sur worksheet.function et evaluate de Laurent Longre ( pas trouvé de topos la dessus sur DVP) mais bon courage avec des variables dans un sumproduct !

    http://xcell05.free.fr/pages/prog/ac...ksheetFunction

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

Discussions similaires

  1. Réponses: 57
    Dernier message: 02/06/2020, 20h54
  2. comment utiliser mes applications sur un autre ordinateur
    Par ghas1991 dans le forum EDI/Outils
    Réponses: 2
    Dernier message: 31/08/2008, 13h17
  3. Réponses: 3
    Dernier message: 26/02/2007, 11h31

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