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 :

Croiser les infos de plusieurs worksheets [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Par défaut Croiser les infos de plusieurs worksheets
    Bonjour,

    Voilà, j'utilise des tableaux sur plusieurs worksheets (5).
    Dans chacun des tableaux, il y a une colonne avec des id.
    Le même id peut apparaitre plusieurs fois dans la colonne d'une même worksheet mais peut étgalement apparaitre sur les autres worksheets.

    Dans chacun des tableaux, grâce à une formule matricielle, je sais compter sans problèmes le nombre d'id différentes dans la fameuse colonne.

    Mon problème, c'est que je ne sais pas recouper mes info entre les feuilles ce qui fait que si mon id#1 apparait sur trois worksheets différentes, je le compte trois fois au lieu d'une.

    Pour l'instant j'avoue que j'ai préféré éviter la macro...

    Quelqu'un saurait comment compter le nombres d'id différents à la fois sur une colonne et sur plusieurs feuilles.

    Pour info ma formule est la suivante (où plage est la colonne sur la quelle je fais la recherche)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {=SUM(IF(plage_feuille1<>0;(plage_feuille1=plage_feuille1)/COUNTIF(plage_feuille1;plage_feuille1);0))}

    Merci beaucoup de votre aide

    Gwen

  2. #2
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Par défaut Réponse
    Bonjour !!

    Bon je vois que je n'ai pas eu beaucoup de succès avec ma question...

    Mais finalement en creusant un peu plus longtemps et en demandant également à des experts j'ai trouvé la réponse.

    Le plus simple est de créer une fonction personalisée à insérer dans un module.

    je vous mets le code, si cela peut servir à quelqu'un !

    Gwen

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Function id_diff(ParamArray plage())
    Application.Volatile
    Set dico = CreateObject("Scripting.Dictionary")
    For n = LBound(plage) To UBound(plage)
     For Each cel In plage(n)
      If cel.Value <> "" Then
        dico(cel.Value) = 1
      End If
     Next
    Next
    id_diff = dico.Count
    End Function

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

Discussions similaires

  1. Extraire les infos d'un tag ID3
    Par patkiller dans le forum Langages de programmation
    Réponses: 12
    Dernier message: 22/02/2025, 01h24
  2. [XL-2007] scinder les info d'une cellule en plusieurs lignes
    Par henry41 dans le forum Excel
    Réponses: 14
    Dernier message: 13/04/2012, 10h40
  3. Réponses: 6
    Dernier message: 04/01/2004, 21h59
  4. Réponses: 6
    Dernier message: 23/12/2003, 16h30
  5. Ne prendre que les infos avant une certaine date??
    Par mythtvtalk.com dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/07/2003, 11h20

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