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 :

somme cellule selectionnées VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 118
    Par défaut somme cellule selectionnées VBA
    Bonjour j'ai besoin d'un petit conseil.

    J'aimerais calculer la quantité (d'actions) marquée dans une colonne après plusieurs sélection (faite avec if then).

    Voici par exemple pour la première ligne la quantité d'action(1000) Total acheté pour le fond Financiere le 12 avril 2012. Mon objectif est un code VBA qui calcule toutes les actions Total achetées pour Financiere le 12 avril 2012. Dans mon exemple 2000.

    date	        fonds	     Actions acheté quantité d'action
    12-avr-12	Financiere	Total	     1000
    12-avr-12	Bellancourt	Axa	    9
    12-avr-12	Bellancourt	Axa	    8
    12-avr-12	Financiere	Axa	    7
    12-avr-12	Bellancourt	Axa	    4
    12-avr-12	Bellancourt	Axa	    5
    12-avr-12	Financiere	Axa	    6
    12-avr-12	Bellancourt	Axa	    3
    12-avr-12	Bellancourt	Total	     2
    12-avr-12	Financiere	Axa	    1
    12-avr-12	Bellancourt	Axa	    2
    12-avr-12	Financiere	Axa	    2
    12-avr-12	Bellancourt	Axa	    3
    12-avr-12	Bellancourt	Axa	    5
    12-avr-12	Financiere	Axa	    4
    12-avr-12	Bellancourt	Axa	     4
    12-avr-12	Financiere	Axa	      7
    12-avr-12	Bellancourt	Total	     8
    12-avr-12	Bellancourt	Axa	     69
    12-avr-12	Bellancourt	Axa	     5
    12-avr-12	Bellancourt	Axa	     54
    12-avr-12	Financiere	Axa	     4
    12-avr-12	Bellancourt	Axa	      5
    12-avr-12	Bellancourt	Axa	     56
    12-avr-12	Financiere	Total	   1000
    Pour l'instant mon code est
    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
     
    Sub quantity()
     
    For i = 2 To i = 26
     
     
     
    If Cells.Value(i, A) = "12/04/2012" Then
     
        If Cells.Value(i, B) = "Financiere" Then
     
     
           If Cells.Value(i, C) = "Total" Then
     
    Cells.Select(i,D)
     
           Sum (Cells.Select)
     
    End Sub
    Il y a surement bcp de faute mais je ne vois pas


    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    salut,
    quelques lectures par item :

    1/ les boucles if
    http://bidou.developpez.com/article/VBA/ page 42
    2/ la syntaxe pour l'objet Cells()
    même lien, page 143
    3/syntaxe des dates
    même lien, page 55

    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre très actif
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 118
    Par défaut
    Voila mon code. Je lis ce que tu m'a envoyé et je le reprend. Merci

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Sub quantity()
     
    For i = 2 To i = 26
     
     
     
    If Cells(i, 1).Value = "12/04/2012" Then
     
        If Cells(i, 2).Value = "Financiere" Then
     
     
           If Cells(i, 3).Value = "Total" Then
     
           Cells(i, 4).Select
     
               Sum (Cells(i, 4).Select)
     
     
     
    End If
    End If
    End If
     
    Next
     
     
     
    End Sub

  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
    Bonsoir,
    sur quelle version travailles-tu, à partir de 2007, tu peux utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim dt As Date
    dt = "12/04/2012"
    MsgBox WorksheetFunction.SumIfs(Range("D2:D26"), Range("A2:A26"), dt, Range("B2:B26"), "Financiere", Range("C2:C26"), "Total")
    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 très actif
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 118
    Par défaut
    merci

    J'utilise 2003

  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
    Je me suis trompé de post et mets la réponse au bon endroit :

    essayes avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub essai()
    MsgBox [SumProduct(($A$2:$A$26=$A$2)*($B$2:$B$26=$B$2)*($C$2:$C$26=$C$2)*($D$2:$D$26))]
    End Sub
    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...)

Discussions similaires

  1. Réponses: 11
    Dernier message: 04/06/2014, 14h09
  2. Activer Cellule avec VBA
    Par jmarcB dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/01/2007, 16h43
  3. Problème de formatage de cellule par VBA
    Par ppe52 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/12/2006, 12h12
  4. Réponses: 1
    Dernier message: 07/07/2006, 15h40
  5. [VBA-E] pbl cellules selectionnée
    Par Igloobel dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/03/2006, 16h52

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