Nombre de mission realisé

Bonjour,

Je souhaite pouvoir calculer sur un onglet le nombre de fois qu'un operateur a relies une mission sur le mois.

Dans mon fichier example je n'ai fait que 3 onglets mais en realité il y en a 31 ( 1 par jour ). Sur le dernier onglet il faut que je sache pour chaque personnes combine de fois ils ont realisés chaque mission.

Merci par avance pour votre aide

solution en formule ou VBA.

Cordialement

34classeur1.xlsx (12.99 Ko)

Bjr,

Function NbMissions(nom As Range, mission As Range) As Integer
Application.Volatile
Dim Reponse As String
Dim Cel As Range
NbMissions = 0
Dim ws As Worksheet
For Each ws In Worksheets
    If ws.Name <> "mensuel" Then
        Set Cel = ws.Columns("A").Find(nom.Value, Range("A1").End(xlDown), xlValues, xlWhole)
        If Not Cel Is Nothing Then
            If Cel.Offset(0, 1).Value = mission.Value Then NbMissions = NbMissions + 1
            If Cel.Offset(0, 3).Value = mission.Value Then NbMissions = NbMissions + 1
        End If
    End If
Next
End Function
21classeur1.xlsm (20.12 Ko)

super Merci Beaucoup

et justement !

Bonjour miami2006 - Steelson

A mon avis il y a une solution beaucoup plus simple... et beaucoup plus "Excel" que ces tableaux x 31

1 seul onglet pour les missions avec une colonne supplémentaire pour le jour

1 onglet pour la récap avec un nb.si.ens adapté

les avantages ?

  1. 2 onglets et pas 32
  2. moins de risque d'erreur lors des saisie
  3. récap plus facile à lire et sans code
  4. fichier moins gros...
  5. parmi les principaux avantages...
  6. et aussi (et surtout) une "philosophie Excel" et non "papier-crayon" pour reprendre l'adage de certains d'entre nous, dont je suis un fervent défenseur

je suis d'accord avec cela

j'étais parti dans cette direction, et puis je me suis fait plaisir avec un tout petit code VBA

en fait, tout dépend comment sont saisies les informations et ce cas m'a paru limite entre faire une base de données et poursuivre comme le voulait ici miami

Bonjour Steelson

Merci pour ton soutien

Même si il est vrai que de temps en temps

Steelson a écrit :

je me suis fait plaisir avec un tout petit code VBA

j'aime ça aussi

Pour ce qui est de

Steelson a écrit :

en fait, tout dépend comment sont saisies les informations et ce cas m'a paru limite entre faire une base de données et poursuivre comme le voulait ici miami

je répondrais seulement :
Function AuMieux()

realiserLeTraitement:

    If PapierCrayon > PhiloExcel Then
        choix = MsgBox("Voulez-vous continuer à faire comme si ?", vbQuestion + vbYesNoCancel)
    Else
        MsgBox "Le traitement sera toujours de toute façon plus adapté", vbExclamation, "Vous avez fait le bon choix"
    End If

    If choix = vbYes Then
        MsgBox _
            "Cette méthode ne pourra pas durer.." & vbCrLf & _
            "Surtout si votre chef vous demande un jour de conserver les jours de l'année au lieu des mois" & vbCrLf & _
            "vous devrez alors tout casser pour effectuer 365 fois la même chose au lieu de 31 fois", _
        vbCritical

        choix = MsgBox("C o n t i n u e r  q u a n d  m ê m e  ?", vbQuestion + vbYesNo, "V O U L E Z - V O U S")
        Select Case choix
            Case choix = vbYes
                MsgBox "OK"
                GoTo realiserLeTraitement
            Case choix = vbNo
                MsgBox "Bonne décision !", vbInformation + vbApplaudissemnts
            Case choix = vbCancel
                MsgBox "La réflexion est toujours une bonne solution", vbInformation, "Félicitations !"
        End Select
    Else
        MsgBox "Bonne décision !", vbInformation + vbApplaudissemnts
    End If

    AuMieux = "A vous de voir !"

End Function

Function PhiloExcel()
Dim baseDeDonneesStructuree()
Dim nbreDonnees
Dim lignes

    For lignes = 1 To UBound(baseDeDonneesStructuree, 1)
        nbreDonnees = nbreDonnees + 1
    Next

    PhiloExcel = nbreDonnees

End Function
Function PapierCrayon()
Dim nbreCellulesTraitees

    ' Rechercher dans 31 feuilles à chaque fois la même chose
    For nbrefeuille = 1 To 31
        nbreCellulesTraitees = nbreCellulesTraitees
    Next

    PapierCrayon = 31 * nbreCellulesTraitees

End Function

à tester... il reste peut-être quelques bugs... mais je crois que ça fonctionne !

J'adore ... 1er prix d'humour !

Rechercher des sujets similaires à "nombre mission realise"