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 :

Aide pour Fonction


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Maiden002
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Par défaut Aide pour Fonction
    Bonjour, je suis entrain de faire une fonction pour mon fichier Excel.

    C'est voulu d'abord faire avec une formule normal, mais sa c'est avéré trop compliqué donc je me rabats sur du VBA.

    J'ai un tableau de gestion d'érreur qui est dans la feuille "Error Report" et mon Code doit se trouver dans d'une autre feuille

    Le principale dans mon tableau :

    Colonne C : Reference du Test (qui est aussi présent dans une autre feuille)
    Colonne I : Date d'ouverture de l'erreur
    Colonne J : Date fermeture de l'erreur (quand elle est résolu)
    Colonne K : Date de déploiement (quand erreur corrigé est donné a l'utilisateur)


    J'ai commencer a faire une formule qui est la plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD(('Error Report'!$C$15:$C$151=B12)*(ESTNUM('Error Report'!$I$15:$I$151)))
    Voila en faite, il va chercher combien dans la Colonne C de mon tableau dans "Error Report" combien il trouve de ligne ou il y a la meme valeur que B12 (ex : TF102) et ensuite il me dit combien dans ceux la,qui on dans la colonne I la case Pleine.

    En clair : il me dit combien d'erreur du Test TF102 on une date d'ouverture.

    Mon probléme maintenant sa serai de trouver, combien d'erreur du Test "???" on une date de fermeture (mais il me dit combien y'en a que si la date de fermeture est inférieur a la date d'aujourd'hui.)


    Si quelqu'un peu m'aider, sa serai super

    Merci

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour,
    Tu as commencé ton code? tu peux nous le montrer?
    Tu ne sais pas créer une fonction personnalisé et l'utiliser?
    Tu as réfléchi à comment le réaliser?

    Une méthode pas la plus rapide mais simple a programmer :

    Commence par parcourir ton tableau à la recherche de tes Tf machin si la ligne corespond a ta recherche tu regarde la colonne date et tu compare a la date d'aujourdh'ui. Si les deux teste sont bon alors tu incrémente ta variable de comptage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i =2 to derniereligne
    if cells(i,3)="TF Machin" and cells(i,10)>Date then nbres=nbres+1
    next i
    Il va falloir que tu précise l'onglet qui contient les cellules et que tu trouve la dernière ligne que tu créé la fonction, etc...

  3. #3
    Membre expérimenté
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Par défaut
    Je pense que tu peux parcourir ta colonne C:

    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
    sub help()
     
    dim c as range, plage as range
    dim derlig as long
    dim Nb1 as long, Nb2 as long, Nb3 as long
     
    with worksheets("Error Report")
    Derlig=.range("C65536").end(xlup).row
    Set Plage=.range("C1","C" & derlig)
    Nb1=0
    Nb2=0
    Nb3=0
    For each c in plage
    If c.value= .range("B12").value then 'j'ai pas bien compris si la case est dans la même feuille ou pas donc je te laisse adapter
    Nb1=Nb1+1
    i=c.row
    If cells(i,9).value<>"" then Nb2=Nb2+1
    If cells(i,10).value<>"" then Nb3=Nb3+1
    end if
    next c
    end with
     
    MsgBox("Il y a " & Nb1 & " lignes contenant l'erreur présente en B12" & chr(10) & "Il y a eu " & Nb2 & " erreurs ouvertes" & chr(10) & "Il y a eu " & Nb3 & " erreure fermées(résolues)")
     
    end sub
    Bon test

    Edit j'avais opublié le end with

Discussions similaires

  1. aide pour fonction islower
    Par virtuadrack dans le forum C
    Réponses: 11
    Dernier message: 27/09/2007, 01h31
  2. aide pour fonction switch problème
    Par mitherkiller dans le forum C
    Réponses: 10
    Dernier message: 02/03/2007, 16h03
  3. besoin d'aide pour fonction de conversion de base
    Par babou54 dans le forum Delphi
    Réponses: 12
    Dernier message: 13/01/2007, 22h06
  4. Besoin d'aide pour fonctions OpenSSL..... HELP !!!
    Par aide64 dans le forum Langage
    Réponses: 7
    Dernier message: 12/05/2006, 18h46
  5. Debutant en C cherche aide pour fonctions!!!!
    Par benji17c dans le forum C
    Réponses: 5
    Dernier message: 30/09/2003, 13h47

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