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 :

Macro VBA SOMMEPROD avec adresse de cellule et double condition [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Août 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Macro VBA SOMMEPROD avec adresse de cellule et double condition
    Bonjour à tous,

    Merci par avance des réponses de chacun.

    Voici mon problème,

    Je voudrais calculer via une macro VBA le nombre de bons de travaux (BT) avec une double condition:
    1- je cherche le nombre des BT par unités d'intervention (UI)
    2- je cherche à filtrer ce nombre en fonction de l'état des BTs

    Par exemple, je veux connaître le nombre de BT pour l'UI TNE ayant le statut "Clos".

    J'ai réussi a faire le compte du nombre de BTs par équipement mais je butte sur la seconde partie.
    Je cherche à utiliser la fonction SOMMEPROD (SUMPRODUCT) mais à partir de ce que j'ai écris, je n'obtiens pas le résultat escompté mais #NOM?.

    Voici ce que j'ai écris:
    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
    Sub ANALYSE_UI()
     
        'Déclaration des variables
        Dim NbUI As Integer
        Dim NbBT As Integer
        Dim NbDI As Integer
        Dim i As Integer
     
    'Initialisation de la variable NbUI utilisée dans les boucles
        NbUI = Sheets("BASE_Macro").Range("B1").Value + 1
     
        'Recherche du nombre de BTs
        Sheets("UI").Range("M2").Select
        For i = 2 To NbUI
            Cells(i, 13) = Application.WorksheetFunction.CountIf(Worksheets("BT").Range("K:K"), Cells(i, 2))
        Next i
        Sheets("UI").Range("N2").Select
        For i = 2 To NbUI
            Cells(i, 14).FormulaR1C1 = _
            "=SUMPRODUCT((BT!K:K=" & Cells(i, 2).Address(0, 0) & ")*(BT!K:K=""Clos""))"
        Next i
     
    End Sub
    Quand je regarde le fichier sous Excel, je remarque autour de l'adresse de la cellule variable des cotes que je voudrais supprimer mais je ne sais pas comment faire.

    Des idées?

    Je me répète mais je vous remercie par avance.

    PS: Je vous mets en pièce jointe une partie du fichier de travail.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    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
    Sub ANALYSE_UI()
    Dim NbUI As Integer, NbBT As Integer, i As Integer
     
    'Initialisation de la variable NbUI utilisée dans les boucles
    With Worksheets("BASE_Macro")
        NbUI = .Range("B1").Value + 1
        NbBT = .Range("B2").Value + 1
    End With
    'Recherche du nombre de BTs
    With Worksheets("UI")
        For i = 2 To NbUI
            .Range("M" & i) = Application.CountIf(Worksheets("BT").Range("K:K"), .Range("B" & i))
            .Range("N" & i).Formula = "=SUMPRODUCT((BT!$L$2:$L$" & NbBT & "=B" & i & ")*(BT!$C$2:$C$" & NbBT & "=""Clos""))"
        Next i
    End With
    End Sub
    Ou sans boucle et en figeant le résultat des formules
    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
    Sub ANALYSE_UI()
    Dim NbUI As Integer, NbBT As Integer
     
    'Initialisation de la variable NbUI utilisée dans les boucles
    With Worksheets("BASE_Macro")
        NbUI = .Range("B1").Value + 1
        NbBT = .Range("B2").Value + 1
    End With
    'Recherche du nombre de BTs
    With Worksheets("UI")
        With .Range("M2:M" & NbUI)
            .Formula = "=CountIf(BT!$L$2:$L$" & NbBT & ", B2)"
            .Value = .Value
        End With
        With .Range("N2:N" & NbUI)
            .Formula = "=SUMPRODUCT((BT!$L$2:$L$" & NbBT & "=B2)*(BT!$C$2:$C$" & NbBT & "=""Clos""))"
            .Value = .Value
        End With
    End With
    End Sub

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Août 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup Mercatog!

    C'est nickel ce que je voulais.

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

Discussions similaires

  1. [WD-2007] [Résolu] Macro VBA complexe avec regex et tags à modifier dans tableau
    Par nicoladastra2 dans le forum VBA Word
    Réponses: 7
    Dernier message: 19/03/2014, 12h50
  2. [XL-2003] Macro VBA suppression texte dans plusieurs cellules
    Par demichoux dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/06/2011, 15h28
  3. [XL-2003] Macro VBA : Problème avec SaveAs Worksheet en .txt
    Par tity333 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/08/2010, 16h16
  4. macro vba Excel avec Mac
    Par ericdev67 dans le forum Apple
    Réponses: 2
    Dernier message: 29/08/2009, 08h41
  5. Macros VBA Excel avec OpenOffice
    Par Aizen64 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/09/2007, 19h08

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