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 :

Fonction SOMMEPROD sur plages de recherche variables [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Par défaut Fonction SOMMEPROD sur plages de recherche variables
    Bonjour,

    J'ai besoin d'inclure la fonction SOMMEPROD dans une procédure vba avec des plages de recherche variables.

    Pour explication voici ci-dessous la fonction que j'utilise et telle que je l'écrirais de façon classique sur xls :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SOMMEPROD((Feuil1!$B$1:$B$1458=$A2)*(Feuil1!$I$1:$Z$1458="toto"))
    La difficulté que je rencontre réside dans le fait que mes plages de recherche ne font pas toujours 1458 lignes...

    Je ne sais pas comment introduire cette contrainte dans le code vba ci-dessous ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "=SUMPRODUCT((Feuil1!R1C2:R1458C2=RC1)*(Feuil1!R1C9:R1458C26=""toto""))"
    Par ailleurs comment coder dans la procédure le fait que certaines des lignes et colonnes de mes plages de recherche sont vérouillées ?

    Merci par avance pour votre aide

  2. #2
    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,

    ci dessous une méthode avec la variable i

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim i As Long
     
    i = 1458
     
    Range("A1").FormulaLocal = "=SOMMEPROD((Feuil1!$B$1:$B$" & i & "=$A2)*(Feuil1!$I$1:$Z$" & i & "=""toto""))"
    Si 1458 correspond à la dernière ligne de la colonne B lors on peut alimenter i de cette manière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i = Range("B" & Rows.Count).End(xlUp).Row

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Par défaut
    Impeccable !!!
    Merci Jérôme

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/05/2014, 19h05
  2. Réponses: 5
    Dernier message: 22/03/2014, 12h20
  3. creer fonction comptage sur plages recurrentes
    Par steve3838 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2012, 18h24
  4. [XL-2003] Plage de recherche variable dans macro VBA
    Par CampaSC dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/07/2011, 18h27
  5. SommeProd sur plage discontinue
    Par CharleLéo dans le forum Excel
    Réponses: 4
    Dernier message: 24/12/2008, 14h59

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