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 :

Formule ou VBA - Sommesi d'un critère situé dans plusieurs colonnes/lignes [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Country Finance Manager
    Inscrit en
    Juin 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Country Finance Manager

    Informations forums :
    Inscription : Juin 2014
    Messages : 38
    Par défaut Formule ou VBA - Sommesi d'un critère situé dans plusieurs colonnes/lignes
    Bonjour le forum,

    J'espère que vous allez bien.

    Petite question sur un soucis qui me taraude depuis quelques jours maintenant.

    Je cherche à faire une sommesi d'un critère situé dans plusieurs colonnes et lignes. Exemple ci dessous :

    Nom : Exemple sommesi.png
Affichages : 185
Taille : 73,0 Ko

    Je cherche à savoir par exemple pour la ligne de budget C82SSI, combien sur la période donnée on va dépenser sur cette ligne.

    Pour être plus clair calculer dans chaque ligne combien de fois apparaît la ligne de budget sélectionnée par ligne et multiplier par le montant en colonne "Total costs €"

    Si vous aviez une idée, ou une formule Excel, ou un bout de code VBA qui pourrait faire ça, vous me rendriez un grand service ainsi que mon sommeil

    Un grand merci d'avance et dans l'attente de vous lire,
    Thallhos

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonsoir
    A tester :
    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
    Sub Recxhrche()
    Dim X As String
    Dim Plage As Range
    Dim Cel As Range
    Dim Budget As Variant
    Application.ScreenUpdating = false
    X = Application.InputBox("Entrez la référence du budget à consulter ", "Valeur", Type:=3)
    Budget = 0
    Set Plage = Sheets("Feuil1").Range("A1:P100") ' à adapter
    For Each Cel In Plage
    If Cel.Value = X Then
    Budget = Budget + Cells(Cel.Row, 1)
    End If
    Next Cel
    MsgBox ("Ce Budget cumule : " & Budget)
    Application.ScreenUpdating = true
     
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Country Finance Manager
    Inscrit en
    Juin 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Country Finance Manager

    Informations forums :
    Inscription : Juin 2014
    Messages : 38
    Par défaut Merci
    Bonsoir Bennasr,

    Un grand merci pour ta réponse, malheureusement je ne cherche pas une valeur désignée par un msgbox, mais depuis une cellule excel, exemple ci dessous :

    Nom : Untitled.png
Affichages : 161
Taille : 8,5 Ko

    l'idée est soit de créer une formule excel ou une formule VBA qui, à partir de la cellule en colonne funding line, chercherait dans le tableau copié ci-dessus le montant total forecasté.

    J'espère que c'est plus clair

    Merci encore,
    Thallhos

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    pour gagner de temps peux tu joindre un fichier test sans macros avec des données bidons??

  5. #5
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    calculer dans chaque ligne combien de fois apparaît la ligne de budget sélectionnée par ligne et multiplier par le montant en colonne "Total costs €"
    Sans VBA.
    Trivialement:
    NB.SI * le montant en colonne Total

  6. #6
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    voila un exemple à tester et à adapter pour ton cas
    BONNE CONTINUATION
    Fichiers attachés Fichiers attachés

  7. #7
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    Si l'on souhaite une synthèse, alors un tableau croisé dynamique sur les valeurs calculées ci-dessus suffit.

    Quand bien même.
    Si l'on crée une collection (ou dictionnaire) des occurrences de budget, alors un SommeProd suffit
    Je viens de tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((Feuil1!B2:P6=Feuil2!A2)*Feuil1!A2:A6)
    (Emoticone parasite, il faut comprendre plage B2 à P6)

    Cette formule retourne le même résultat que le balayage de la plage.
    Ce n'est ni plus ni moins que l'action d'un tableau croisé dynamique.
    Mieux, je conseillerais à notre ami d'envisager un tableau structuré pour sa base de données.

    Sur les tableaux structurés, ce tutoriel
    Sur les tableaux croisés dynamiques, celui-ci et la FAQ

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

Discussions similaires

  1. [Toutes versions] Requête suppression basée sur un critère situé dans une autre table
    Par possible924 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 09/11/2014, 19h56
  2. [XL-2007] Filtre avancé selon un critère situé dans une cellule
    Par DiesIrae dans le forum Excel
    Réponses: 12
    Dernier message: 27/07/2009, 16h45
  3. Réponses: 6
    Dernier message: 29/08/2007, 07h49
  4. Recherche VBA dans plusieurs colonnes.
    Par madchemiker dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/07/2007, 14h09
  5. [VBA-E] ajout d'un onglet dans plusieurs fics
    Par elkhy dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 17/05/2006, 20h22

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