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 :

creer fonction comptage sur plages recurrentes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2012
    Messages : 9
    Par défaut creer fonction comptage sur plages recurrentes
    Salut,

    Je souhaite compter(cf pj) le nombre de fois qu'un participant est présent a une activité dans une période donnée. Il faut donc que la date de séance soit comprise entre date de debut et date de fin ET que présence du participant = "OUI"

    Les dates de debut et fin de période sont entrés en rouge dans l'onglet activité 1.
    Le résultat de la fonction "nbseance" est dans l'onglet "suivi".

    N'étant pas habitué du VB, je dois faire de grosses erreurs de syntaxe d'où le message d'erreur.

    Merci pour votre aide et de me dire également si c'est possible de régler cela avec des fonctions EXCEL préexistantes.

    Merci
    Steve
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent 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
    Par défaut
    Fonction testée sur ton fichier à mettre dans un module public (Fonctionne seulement sur ton fichier tel!)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Function NbSeances(ByVal Dte1 As Range, ByVal Dte2 As Range, ByVal Particip As String) As Integer
    Dim i As Byte
    Dim S As Integer
     
    For i = 1 To 100
        S = S + Evaluate("SUMPRODUCT((OFFSET('ACTIVITE 1'!C6:E6," & 4 * (i - 1) & ",0)>='ACTIVITE 1'!" & Dte1.Address & ")*(OFFSET('ACTIVITE 1'!C6:E6," & 4 * (i - 1) & ",0)<='ACTIVITE 1'!" & Dte2.Address & ")*('ACTIVITE 1'!C4:E4=""" & Particip & """)*(OFFSET('ACTIVITE 1'!C8:E8," & 4 * (i - 1) & ",0)=""OUI""))")
    Next i
    NbSeances = S
    End Function
    Dte1: cellule contenant la date min
    Dte2: cellule contenant la date max
    Particip: Cellule contenant le nom du participant

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2012
    Messages : 9
    Par défaut
    Salut Mercatog,

    Merci. Intéressante solution. Probleme résolu.
    Comme mes participants doivent rester des numéros(anonymat), j'ai fait quelques modifs comme suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Function NbSeances(ByVal Dte1 As Range, ByVal Dte2 As Range,      ByVal Particip As Integer) As Integer
    Dim i As Byte
    Dim S As Integer
     
    For i = 1 To 100
        S = S + Evaluate("SUMPRODUCT((OFFSET('ACTIVITE 1'!C6:E6," & 4 * (i - 1) & ",0)>='ACTIVITE 1'!" & Dte1.Address & ")*(OFFSET('ACTIVITE 1'!C6:E6," & 4 * (i - 1) & ",0)<='ACTIVITE 1'!" & Dte2.Address & ")*('ACTIVITE 1'!C4:E4=" & Particip & ")*(OFFSET('ACTIVITE 1'!C8:E8," & 4 * (i - 1) & ",0)=""OUI""))")
    Next i
    NbSeances = S
    End Function

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

Discussions similaires

  1. [XL-2007] Fonction SOMMEPROD sur plages de recherche variables
    Par 2lester dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/03/2012, 17h31
  2. creer un order sur une fonction avec criteria
    Par maouth dans le forum Hibernate
    Réponses: 12
    Dernier message: 09/09/2008, 15h57
  3. sélection unique en fonction d'un attribut et comptage sur regroupement
    Par JMi$h€ll dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 16/10/2007, 11h18
  4. fonction nbcar sur une plage
    Par john123 dans le forum Excel
    Réponses: 2
    Dernier message: 02/07/2007, 13h38
  5. [FLASH 8] Creer/utiliser/réfléchir sur une bibli de fonction externe !?
    Par Lorenzo77 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 16/01/2007, 13h35

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