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 :

Lister le nombre d'occurrences et comparer le contenu de listes de 2 onglets?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 217
    Par défaut Lister le nombre d'occurrences et comparer le contenu de listes de 2 onglets?
    Bonjour,
    voici ma question:
    j'ai à faire des compte rendus par rapport à des listes de demandes que je reçois.

    Une demande = une ligne avec les infos (statut de la demande, nom du demandeur, informations de date etc...).
    J'ai un fichier Excel qui est constitué comme ceci:
    - un onglet par mois,avec dans chaque mois la liste des demandes reçues
    - tant qu'une demande n'est pas traitée elle apparaît dans la liste du mois suivant: si elle n'apparaît pas c'est qu'elle a été traitée.

    A partir de là je peux faire des calculs:
    (nb de demandes traitées) = (nbre de demandes du mois précédent n'apparaissant pas dans la liste)

    et

    (nbre de demandes enregistrées)=(nb de demandes du mois en cours - nbre de demandes du mois précédent + nbre de demandes traitées)

    Ceci servant à faire des rapports (de manière manuelle) que j'aimerais automatiser:
    - pour chaque mois je dois sortir un tableau avec le nombre de demandes par demandeur et son nom (une personne pouvant faire plusieurs demandes)
    - un autre représentant le nombre de demandes par statut (avec un graphique)
    - un autre me présentant l'évolution entre les mois précédents et le mois précédent (nbre de demandes total,nbre de demandes soldées et nbre de nouvelles demandes enregistrées).

    J'aimerais automatiser ces traitements mais je galmère beaucoup, j'ai un peu de mal avec VBA et j'ai des difficultés à comparer le contenu des différnts onglets,et même à y faire référence.

    Je vous remercie d'avance pour vos conseils.

    Cordialement,
    M

  2. #2
    Membre éclairé Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 464
    Par défaut
    Bonsoir,
    pouvez vous joindre un exemple de votre fichier, pour qu'on voit plus clair.

    Bien cordialement

  3. #3
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 217
    Par défaut
    Bonjour,
    J’ai mis mon fichier en pièce jointe (j’ai modifié les informations car elles n’ont rien à faire sur un forum, mais l’idée et la forme est exactement la même).

    Tous les mois je reçois une liste de demandes en cours, que je copie dans un nouvel onglet (j’ai récupéré cette tâche mais auparavant tout était fait à la main !).

    Je dois comparer le nouvel onglet du dernier mois avec les autres,et également faire des traitements sur cet onglet.

    Point important que j’avais oublié d’énoncer : toutes les demandes ont un numéro de référence qui peut aider à les retrouver d’un onglet à l’autre.

    D’un mois à l’autre,si une demande n’est plus dans la liste : c’est qu’elle a été traitée.
    Si elle y est toujours : c’est qu’elle ne l’est pas.
    Si elle n’apparaissait pas le mois précédent : c’est qu’elle a été enregistrée sur le mois en cours.

    J’ai besoin de sortir :
    - un récapitulatif des demandes enregistrées, soldées et le total pour chaque mois afin de faire un graphique récapitulatif de l’évolution des demandes comme présent sur l’onglet « Evolution enregistrements dema » : vous pouvez voir qu’il y a d’abord un tableau dans lequel les demandes ont été repertoriées une à une ( !) pour pouvoir faire un tableau bilan (plages 136 à 142) afi de pouvoir faire le graphique : j’aimerais automatiser ceci,en sachant que chaque mois je vais ajouter un onglet supplémentaire (il me faut ici faire un bilan pour chaque mois des nombres de demandes total,traitées et enregistrées, et faire le graphique présentant l’évolution).
    - Un récapitulatif pour le dernier mois du nombre de demandes par demandeur comme présenté sur le même onglet : nom du demandeur + nombre de demandes effectuées (il me faut ici lister tous les demandeurs différents sur l’onglet du dernier mois et en produire un tableau avec le nombre de demandes par demandeur).
    - Sur l’onglet « statut demandes » : un récapitulatif du nombre de demandes par statut pour le dernier mois (il me faut ici lister tous les diférents status présents,les compter et créer un tableau plus un graphique correspondant comme sur mon fichier exemple).

    Je ne sais absolument pas comment m’y prendre : comment sélectionner les onglets pour faire un traitement dessus déjà, j’aimerais éventuelleemnt indiquer le nom des onglets concernés dans une cellule, exécuter la macro qui réaliserait les opératios à partir des noms indiqués dans mes cellules (je suis preneur d’autre solution !).
    Je ne sais pas non plus comment comparer les listes présentes dans chacun des onglets entre elles.
    Et en plus je débute en vba je n’ai jamais automatisé la création d’un graphique par macro à l’aide d’une sélection de données.

    Je vous remercie d’avance pour les pistes et conseils que vous pourriez m’apporter.
    En pièce jointe : le fichier en question.

    Cordialement,
    M
    Fichiers attachés Fichiers attachés

  4. #4
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 217
    Par défaut
    Dernier point: pour lister les noms de demandeur et compter le nombre de demandes, j'ai deux cellules différentes "nom" et "prénom" dans mon tableau, il faut donc que je vérifie d'abord si les doublons nom+ prénom sont différents (au cas ou, deux demandeurs peuvent avoir le même nom!)

    Au sujet du dernier point, est-il possible de concaténer les contenus de deux colonnes (nom prénom) afin de pouvoir les comparer?

  5. #5
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 117
    Par défaut
    SAlut
    Deja, ca represente un boulot enorme je pense.
    Voial cela dit
    Je pense que dans un 1er temps tu devrais peut etre faire le maximum de travail en utilisant les fonctionnalité d'excel avant de vouloir passer sur du code, a mon humble avis, meme si j'aime bcp coder en vba, il faut utiliser le vba que lorsqu'il n'est pas possible de faire ce que l'on souhaite avec du code, et excel est qd meme pas mal foutu.

    Par exemplke des chose toutes simples rajouter une colonne pour indiquer 1 si le document est colturé en regardant si la colonne date cloture est renseigné, idem pour la creation 1 si Moi(date creation) = le moi de l'onglet

    Je jete un oeil

    [Edit1]
    Sachant que dans mes exemples je suis au moi de Juillet (7)

    Alors pour les Affaires resolues ce mois tu utilises ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET($G2<>"";MOIS($G2)=7;ANNEE($G2)=2007);1;0)
    Pour les affaire créées ce moi tu utilise ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET(MOIS($C2)=7;ANNEE($C2)=2007);1;0)
    Sur les 1eres lignes tu fais les totaux

    Une question, quel utilité y'a t'il a avoir un onglet par moi, c'est juste une question, je ne critique en rien ce que tu as fait, je souhaite juste savoir si on doit garder cette contraite ou si on peut faire 1 seul onglet contenant toutes les infos ? (bien que je ne sache pas encore si ca resoudra plus de probleme que ca n'en crera :s)

    Si non je pense que deja tu devrais partir sur un fichier excel dans lequel tu as tes 12 onglets (1 par mois) + tes onglets de recap bien sur.

    Etablire tes graphiques pour l'année complete, le graphique se créra au fure est a mesure que l'année avancera, restant a zero sur les mois vierges de valeurs

    [/Edit1]

    [Edit2]
    Je ne me suis jamais frotté aux tableau croisés dynamique mais je me demande si ca te rendrais aps service d'y jeter un oeil, notement pour ces histoire de personne ayant fait x demandes
    [/Edit2]

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. Nombre d'occurrences d'une sous chaîne
    Par yanice dans le forum Langage
    Réponses: 2
    Dernier message: 22/03/2007, 16h37
  2. [MySQL] Lister un nombre de résultats par récurrence
    Par Anduriel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 04/02/2007, 20h53
  3. [Tableaux] Lister des nombres
    Par Klimium dans le forum Langage
    Réponses: 9
    Dernier message: 21/10/2006, 15h00
  4. [débutant] Compter le nombre d'occurrence d'un texte
    Par PoichOU dans le forum Langage
    Réponses: 2
    Dernier message: 14/10/2006, 00h00
  5. Lister le Nombre de port série ?
    Par SebRs dans le forum Windows
    Réponses: 4
    Dernier message: 03/05/2006, 17h48

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