Recuperer des données sur plusieurs feuilles d'un classeur

Bonjour à tous

Voici mon problème

J'ai plusieurs feuilles dans un classeur, chaque feuille est un plan d'action, avec dans chaque plan d'action 12 colonnes. (N°, pilote, ressource, système, domaine, action etc...).

Je souhaiterai rapatrier toutes les actions de chaque plan d'action pour un pilote donné, sur une feuille dédiée

Le code que j'ai récupéré fonctionne mais je ne sais pas comment faire pour qu'il me prenne la colonne C (pilote) à la place de la colonne L (commentaire) je vous joins le fichier

J’espère que j'ai été assez clair

En vous remerciant d'avance pour votre aide

Cordialement

Bonjour

Si j'ai bien compris

Modifies ta macro

        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
          If Tabtemp(B, 1) <> "" And Tabtemp(B, 2) = "PT" Then 'si la premiere colonne n'est pas vide et la colonne 2 est égale à PT
            ReDim Preserve TabRecup(UBound(Tabtemp, 2), x)  'on redimmensionne un tableau avec le nombre de lignes égale _

Bonjour

En fait le code fonctionne si "PT" est dans la colonne commentaire.

Je souhaiterai qu'il fonctionne en cherchant dans la colonne Pilote de chaque feuille. Et pas dans la colonne commentaires

C'est sympa de t'intéresser à mon cas

Merci d'avance

Cordialement

Bonjour

As-tu essayé la modification ?

Ce code recherche PT dans la colonne B

J'ai raté quelque chose ?

Bonjour

Super trop fort, ca fonctionne impeccablement

Par contre ca ne me copie pas toute la ligne ca s'arrête à la colonne Avancement. Sachant qu'il se peut qu'un jour on rajoute des colonnes dans les plan d'action.

Merci

Bonjour

J'ai repris la macro car à mon avis elle ne recopiait pas la dernière donnée (pas trop vérifié)

Je me base sur le nombre de colonne en feuille "resultat"

Bonjour

Super ca marche

Par contre une dernière question, si demain quelqu’un déplace la colonne pilote de B en E ou H comment je modifie le code. Pour rechercher " PT" dans une nouvelle colonne je ne suis pas très doué je n'ai pas bien compris le code.

Merci d'avance

Alain

Bonsoir

Dans cette ligne tu modifies le numéro de colonne

1=A, 2=B, 3=C etc....

          If Tabtemp(J, 1) <> "" And Tabtemp(J, 2) = "PT" Then  ' si la premiere colonne n'est pas vide et la colonne B est égale à PT

Bonjour

Désolé de répondre si tard.

J'ai ecrits

If Tabtemp(J, 1) <> "" And Tabtemp(J, 6) = "PT" Then

Si j'ai bien compris colonne "F"

si je mets un "PT" dans la colonne "F"

Ca ne marche pas message d'erreur N°13

sur la ligne

.Range("B2").Resize(UBound(TabRecup, 2), UBound(TabRecup, 1)) = Application.Transpose(TabRecup)

Cordialement Bonne journée

Bonjour

Je viens de tester, j'ai juste modifier la ligne

If Tabtemp(J, 1) <> "" And Tabtemp(J, 6) = "PT" Then

ensuite dans une page j'ai modifié une cellule en colonne F : J'y ai mis PT

Lancement de la macro et j'ai eu 1 ligne de recopiée

Je viens de voir si aucune donnée de recopiée j'ai un message d'erreur

Modifies la fin de la macro

    If Nb > 0 Then
      'on recopie en inversant les données du tableau (colonnes en lignes et lycée de versailles)
      .Range("B2").Resize(UBound(TabRecup, 2), UBound(TabRecup, 1)) = Application.Transpose(TabRecup)
   End If
  End With
  Application.ScreenUpdating = True
End Sub

Cela résout le problème ?

Bonjour

Impeccable tout fonctionne

Je te remercie sincèrement de ton aide

Cordialement

Alain bonne journée et encore merci

Rechercher des sujets similaires à "recuperer donnees feuilles classeur"