Copie d'un tableau à un autre avec condition

Bonjour à tous,

Je viens vers vous, car je viens de commencer le vba et je me trouve face à un problème. Après de multiple recherche sur le forum j'ai décidé de me lancer à mon tour.

Je possède deux tableaux, un tableau de référence avec le nom des employés, leurs matricules et direction sur chaque mois (qu'on va appeler tableau 1). Puis un autre tableau exactement identique (qu'on va appeler tableau 2). Il existe 12 tableaux 2 en fonction de chaque mois.

Le but est de copier les département du tableau 1 dans le tableau 2 en fonction du matricule et de la date afin de bien cibler les personnes, car en fonction du mois ils peuvent changer de direction.

Les tableaux possèdes eux deux des milliers de lignes, j'ai donc créé un petit fichier afin de vous donner un ordre d'idée.

6test.xlsx (10.73 Ko)

Bonjour,

Je pense que tu devrais passer par Power query, mais peux tu joindre un résultat attendu (genre tableau 3) afin de mieux comprendre et répondre à ta demande,

Dans l'exemple que tu rejoindras, on va aller au bout et mets les 12 tableaux 2 également,

Cordialement,

Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2:E2")) Is Nothing Then
    On Error GoTo tout
    Sheets(1).ListObjects(1).Range.AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("A1").CurrentRegion, CopyToRange:=Range("A4").CurrentRegion.Resize(1), Unique:=False
    Exit Sub
tout:
    ActiveSheet.ShowAllData
End If
End Sub

Dans Feuil3, tu mets en ligne 2 les critères que tu souhaites

On peut dupliquer ceci sur plusieurs feuilles.

4test.xlsm (16.03 Ko)

Merci de vos réponses rapides.

Massari je te transmet ça ci-joint. J'ai mis 6 tableaux 2 ( car pour l'année en cours j'en possède 6 pour le moment).

Steelson j'arrive pas à ouvrir ton fichier, je vais tester tout ton suite ton code et te donner un retour une fois que j'aurai fini.

Merci encore !

5test.xlsx (20.90 Ko)

Autre version avec les mois ...

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Sh.Name = "data" Then Exit Sub
    If Not Intersect(Target, Sh.Range("A1:H2")) Is Nothing Then
        Sheets(1).ListObjects(1).Range.AdvancedFilter Action:=xlFilterCopy, _
            CriteriaRange:=Sh.Range("A1").CurrentRegion, CopyToRange:=Sh.Range("A5").CurrentRegion.Resize(1), Unique:=False
    End If
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Sh.Name = "data" Then Exit Sub
        Sheets(1).ListObjects(1).Range.AdvancedFilter Action:=xlFilterCopy, _
            CriteriaRange:=Sh.Range("A1").CurrentRegion, CopyToRange:=Sh.Range("A5").CurrentRegion.Resize(1), Unique:=False
End Sub

Bonjour massari59264, je n'avais pas vu que tu avais pris la main !

3test-v2.xlsm (21.76 Ko)

Bonjour,

En fait il y a plus simple pour ta demande, ci-joint ton fichier avec un simple TCD et tu n'as qu'as choisir le mois que du désires voir afficher (on aurait pu mettre aussi un segment),

Cordialement,

Bonjour,

Je me suis surement mal exprimé sur ma demande. En fait je dois réaliser le taux d'occupation du bâtiment en fonction du département des employés. Dans le tableau 2 à chaque fois qu'une personne badge une ligne s'affiche avec son nom, prénom, matricule, date et département. Mais le problème c'est que dans le fichier le département n'est pas le vrai département des employés ou alors il s'affiche pas du tout. De plus j'ai pas la main afin de réparer ça.

Je dois donc d'en un premier temps mettre à jour le tableau 2 via le tableau 1. Car dans le tableau 1 j'ai le département réel des employés mis à jour chaque mois.

Une fois cela fait je pourrai exploiter le tableau 2 afin d'en ressortir le taux d'occupation du bâtiment en fonction de chaque département.

J'espère vous avoir un peu plus éclairé.

Cordialement,

Il y a donc

  • 1 base "personnel" avec matricule et "vrai" département
  • un onglet avec TOUS les badgages quelle que soit la date, et qui extrait le département par un RECHERCHEV
  • enfin un TCD comme proposé par massari d' Onnaing (je suis de Linselles)

Coucou Steelson au passage, (enfin onnaing c’était avant je suis plus sur Douai aujourd’hui mais ça reste le noooord lol)

Alors je joins un fichier avec l'utilisation de Query & Pivot,

La solution avec une RechercheV est également possible, mais à voir avec le nombre de lignes afin de ne pas alourdir trop le fichier!

Je reste à disposition pour toutes questions sur le fichier joint,

Cordialement,

Bonjour,

Ca fonctionne bien, mais lorsque je rentre mes tableaux à la place de ceux de simulation ça fonctionne plus. Donc si je comprend bien pas besoin d'utiliser du VBA ?

De plus dans le TCD j'aimerai simplement afficher en fonction du mois et du département le nombre de badgage.

Il doit donc y avoir:

  • 1 base "personnel" avec matricule et "vrai" département
  • la base des badgage (modifié avec les "vrai" département si possible)
  • Enfin un TCD qui affiche en fonction du mois et du département le nombre de badgage.

Merci pour votre aide !

Bonjour,

Pour que cela fonctionne, prends le fichier test et colle en valeur tes données dans les tableaux du fichier test (le fichier deviendra ainsi ton fichier de travail), (Autre solution c'est que tu réalises les requêtes sur ton fichier ce qui te permettra de mieux comprendre la démarche) :

Pour arriver à ce résultat, il y a :

Tableau 1 qui liste pour chaque salarié la direction auquel il appartient à une date,

Tableau 2 qui liste tous les pointages réalisés (un seul pour l'année complète), on pourrait ajouter si tu le souhaite une colonne année dans Query afin de conserver ton fichier pour plusieurs années.

Pour chacun des tableaux, j'ai fait : Données, nouvelle requêtes A partir d'un tableau,

Afin de les visualiser tu peux faire afficher les requêtes, et double clic pour voir le détail des étapes réalisées !

Le résultat que tu souhaites apparait dans la requête tableau 2, que j'ai chargé dans power pivot afin de réaliser le TCD,

Ci-joint une présentation du TCD différente mais tout dépend de la présnetation du résultat souhaité,

Cordialement,

Rechercher des sujets similaires à "copie tableau condition"