Rapatriment de donnée de plusieurs feuilles appartenant à une personne

alainca31

XLDnaute Nouveau
Bonjour à tous

Sujet: FICHIER EN PIECE JOINTE
J'ai un classeur Excel avec une dizaine de feuille contenant chacune un tableau d'action, chaque tableau contient 12 colonnes
Je souhaiterais sur une autre feuille en cliquant sur un bouton qu'apparaisse toutes les actions de monsieur X, monsieur x étant renseigné dans la deuxième colonne de toutes les feuilles.
J'ai trouvé sur le forum un petit programme qui fonctionne mais que je n'arrive pas à adapter à mon cas.
pour être plus clair il fonctionne sauf que monsieur X il le cherche dans la colonne "L" et non dans la "B" et en plus il ne me rapatrie pas justement la colonne L

Merci de votre coup de main voici le code

Sub Transfert_2()
Dim Tabtemp As Variant
Dim TabRecup() As Variant
Dim Derlgn As Integer
Dim FR As Worksheet
x = 1
For Each FR In Worksheets
If Left(FR.Name, 6) = "ACTION" Then 'on recherche "STOCK" dans le nom de la feuille
With FR

Derlgn = .Range("A65536").End(xlUp).Row 'on recherche la derniere ligne non vide en partant du bas
If Derlgn = 15 Then GoTo suite 'si ligne égal 15 alors feuille vide de donnée donc _
on passe à la feuille suivante
Tabtemp = .Range("A1:L" & Derlgn).Value 'sinon on remplie le tableau Temporaire
For B = 1 To UBound(Tabtemp, 1) 'pour chaque lignes de ce tableau
If Tabtemp(B, 1) <> "" And Tabtemp(B, UBound(Tabtemp, 2)) = "PT" Then 'si la premiere colonne n'est pas vide et la colonne 12 est vide
ReDim Preserve TabRecup(UBound(Tabtemp, 2), x) 'on redimmensionne un tableau avec le nombre de lignes égale _
au nombre de colonnes du tableau temporaire et x colonne x = 1 au début
For C = 1 To UBound(Tabtemp, 2) 'pour chaque colonnes du tableau temporaire
TabRecup(C, x) = Tabtemp(B, C) 'on remplis les lignes du tableau TabRecup
Next 'colonne suivante
x = x + 1 'on ajoute une colonne à TabRecup
End If

Next 'Ligne L suivante
End With
End If
suite: 'on change de feuille
Next 'feuille suivante
Application.ScreenUpdating = False
With Worksheets("RESULTAT")
.Range("A10:K" & .Range("A65536").End(xlUp).Row + 1).ClearContents 'on efface les données de la feuille "Impayé" _
sauf entêtes
.Range("A2").Resize(UBound(TabRecup, 2), UBound(TabRecup, 1)) = Application.Transpose(TabRecup) 'on colle en _
inversant les données du tableau (colonnes en lignes et lycée de versailles)
End With
Application.ScreenUpdating = True
End Sub

Cordialement
 

Pièces jointes

  • essai plan d'action1.xls
    192 KB · Affichages: 25
  • essai plan d'action1.xls
    192 KB · Affichages: 26
  • essai plan d'action1.xls
    192 KB · Affichages: 30
Dernière édition:

Discussions similaires

Réponses
4
Affichages
404

Statistiques des forums

Discussions
314 499
Messages
2 110 249
Membres
110 711
dernier inscrit
chmessi