recopie feuille à feuille

donlefou

XLDnaute Nouveau
Bonjour, j'ai un classeur excel avec plusieurs feuilles :
-feuille TPS
-feuille TPS_IN
-feuille TPS_PO
-feuille TPS_PP
-feuille TPS_PV

Je voudrais récupérer certaines colonnes des feuilles TPS_xx vers la feuille TPS.
Je m'explique: les feuilles TPS_xx sont identiques (memes colonnes mais données différentes) avec les colonnes suivantes : code, statut, P/Charge, Temps exé, TPS 100%, UEE, New Time.
Ne faites pas trop attention à comment sont remplies ces colonnes (certaines sont importées de fichiers externes).
Donc, ce que je voudrais c'est recopier les données des colonnes code, P/Charge et New Time de chaque feuille TPS_xx vers la feuille TPS. Je voudrais également que cela soit dynamique, càd que si modification dans feuilles TPS_xx (ajout, suppression, correction), cela soit pris en compte dans la feuille TPS.
Pour corser l'affaire, les recopies se feront selon certains critères.

Je vous joint un extrait (pour alléger taille) de mon classeur. (il y a la feuille TPS avec rien dedans pour l'instant !!, une feuille TPS_IN, une feuille TPS_PO vide mais qui sera du meme type que TPS_IN).

Les critères sont : je récupère les colonnes code, P/Charge et New Time vers feuille TPS si dans les feuilles TPS_xx le statut est ACTIVE et qu'il existe un nombre dans la colonne New Time.
Les données récupérees des feuilles TPS_xx seront mis les unes à la suite des autres dans la feuille TPS.
Dernier point, si les critères de recopie ne sont pas respectées, je voudrais ne pas recopier la ligne correspondante, ou au pire mettre des '0'.

Comment faut-il faire ? formules, vba, macro...?

Voila, j'espère avoir été assez clair, sinon redemandez moi. Merci
 

bbmarcus

XLDnaute Occasionnel
Bonjour donlefou, le forum,

pas vu ton fichier....enlève les _...je pense que c'est ca qui bloque le fichier...

Sinon, avec une formule si, ca devrait aller....
Si((TPS_in!A1<>'')*et(TPS_in!A1>0);TPS_in!A1;'')

Par contre: tes données vont se mettrent cote à cote ou à la suite les unes des autres?

Si 2ème cas, ont-elles un nombre de lignes limitées?
@+

bbmarcus
 

donlefou

XLDnaute Nouveau
Mon fichier doit etre trop gro (150ko), je le reduis et je le renvoie.
Les données recopiées sont mis à la suite les unes des autres.
Le problème, c'est que leur nombre peut varier, cependant par exemple si on ajoute une ligne dans une des feuilles TPS_xx, ce n'est pas grave si cette ligne vient s'ajouter à la fin dans la feuille TPS. L'important c'est qu'elle soit recopier (sur une ligne suivante ou n'importe)
 

bbmarcus

XLDnaute Occasionnel
Re,

donlefou, j'ai une solution...pas de moi, mais quand même!

Sur ce fil, j'ai trouvé ce qu'il te faut....je pense.

Lien supprimé


Le système te colle les données d'une feuille sur l'autre et dans la colonne de ton choix et commencant sur la première cellule vide....

Je sais que toi tu souhaite une compilation en direct...
Alors avant le code que tu trouveras sur le fil d'archive et que tu utiliseras pour les premières données de la première feuille UNIQUEMENT, tu note
Sheet('TPS').Select
Range('A1:A250a).ClearContents

Ca te supprimera les anciennes donnée et c'e'st reparti !

Pas testé, mais je crois que ca ira...

@+

bbmarcus

Message édité par: bbmarcus, à: 28/07/2005 12:12
 

Discussions similaires

Statistiques des forums

Discussions
312 673
Messages
2 090 780
Membres
104 664
dernier inscrit
jth