Copier Coller d'infos sur autre feuilles selon critere

Cecarc

XLDnaute Nouveau
Bonjour,

J'aurais besoin d'aide sur Excel 2003…
En effet je suis en train de faire des remontées d'infos sur Excel et je rencontre un souci. Je m'explique :
J'ai 2 classeurs excel
Le premier comprend une liste de fournisseur avec un onglet par fournisseur
Le second comprend toutes des extractions de données (issues de requêtes du système informatique SAP) – sur ce classeur il y a une feuille récapitulatif avec toutes les commandes des fournisseurs et différentes infos.

Le but est en fait de récupérer les infos de la feuille de récap du classeur 2 pour les mettre dans les différents onglets du classeur 2 suivant le numéro du fournisseur.

J'ai essayé de regarder dans différents forum mais je ne trouve pas ce que je veux ou alors je ne comprends rien… je n'ai jamais fait de macro via VBA et pour moi c'est du pur chinois ! ^^
Donc si quelqu'un aurait une formule ou pourrait m'expliquer une macro ca serait super sympa !!

Merci d'avance,
 

MJ13

XLDnaute Barbatruc
Re : Copier Coller d'infos sur autre feuilles selon critere

Bonjour

Bon, les formules et les macros c'est pas bien compliqué mais cela demande un peu d'expérience.

Sinon tu pourrais dans un premier temps nous fournir 1 ou 2 fichiers zippés de moins de 47 ko sans données confidentielles. Cela serait plus simple pour t'aider.
 

MJ13

XLDnaute Barbatruc
Re : Copier Coller d'infos sur autre feuilles selon critere

Re

Dans un premier temps je te propose le plus simple: Un filtre élaboré. Il suffit de recopier les données dans la feuille Données.

Ensuite une petite macro pour boucler sur chaque feuille et recopier les données.
Recopie ce code dans le module1 puis clic droit sur le bouton et affecter à la macro Lance.
Code:
Sub Lance()
'Stop
For n = 2 To Sheets.Count
Sheets(1).Range("W7").Value = Sheets(n).Range("H7").Value
Filtre_Elaboré
nlf = Range("Q65536").End(xlUp).Rows.Row
If nlf = 19 Then GoTo suite
Sheets(1).Range("Q20:AA" & nlf).Copy
Sheets(n).Select
Range("B20").Select
ActiveSheet.Paste
Application.CutCopyMode = False
suite:
Sheets(1).Select
Next
End Sub
Attention dans ton fichier le F doit être le fournisseur 6 (et pas le 5).
 

Pièces jointes

  • Classeur_1_-_Recap_info_par_Fournisseur.zip
    15.3 KB · Affichages: 160
Dernière édition:

Cecarc

XLDnaute Nouveau
Re : Copier Coller d'infos sur autre feuilles selon critere

Merci pour la réponse, mais je n'ai pas tout compris…
Le filtre élaboré ne marche sur si les données de base sont sur la feuille sur laquelle ont veut exporter les données ?
Et c'est une macro aussi le filtre élaboré ?
Et la macro Lance il faut que je la crée a la suite de la macro filtre élaboré ?
Est-ce que tu pourrais un petit peu plus en détail STP ?
Merci !
 

Cecarc

XLDnaute Nouveau
Re : Copier Coller d'infos sur autre feuilles selon critere

Voici ce que j'ai compris ^^ :
Je dois copier l'onglet du classeur 2 (infos) vers le classeur 1 (onglets fournisseurs) en le nommant "Données".
Puis je crée un filtre élaboré. Mais comme je n'ai jamais fait de filtre élboré je trifouille un peu ^^ Comment tu fais pour dire que tu veux copier des infos d'une page vers une autre car ca me met un message d'erreur "vous pouvez seulement copier les données filtrées vers la feuille active" ...
du coup je suis déjà bloquée !! :-(
 

MJ13

XLDnaute Barbatruc
Re : Copier Coller d'infos sur autre feuilles selon critere

Re

Bon je vois que tu commences a comprendre.

En fait, il faut nommer 3 zones: une BD pour ta base de données a extraire, une CR (pour le critère) et une ZD pour la zone de destination.

Tapes F5 (atteindre puis tu verras chaque zone qui est nommée).

Ensuite tout est expliqué dans la macro (Alt+F11).

C'est pour cela que j'ai tout mis sur la même feuille, mais en toute logique on peut déplacer la zone de critère et la zone de destination (je le fait souvent).

Bon, c'est comme le vélo, il faut essayer et un jour, on peut se lancer tout seul.

Et la macro Lance il faut que je la crée a la suite de la macro filtre élaboré ?
En effet il faut copier la macro en grisé (Sub Lance... End Sub)sous la macro du module1. Puis tu peux lancer la macro "Lance" avec Alt+F8 ou clic droit sur le bouton Filtre élaboré et choisir affecter une macro et enfin choisir Lance.
 
Dernière édition:

Cecarc

XLDnaute Nouveau
Re : Copier Coller d'infos sur autre feuilles selon critere

Bonjour,

Merci pour les infos. Mais je reste toujours bloquée a la création du filtre elaboré ...
Voici ce que je fait : je copie donc la feuille de synthese des infos dans le classeur recap fournisseur en le renommant DONNEES. Puis je copie ma premiere feuille fournisseur (A) sur la meme feuille DONNEES pour pouvoir faire le filtre elaboré (car je ne peux pas copier les infos filtrés sur une feuille différente...)

Donc la j'ai bien fait le filtre élaboré mais le problème c'est qu'il ne me crée pas de macro 'Filtre Elaboré' , je n'ai pas non plus le bouton... Et donc du coup je ne peux pas faire la macro 'Lance'

Merci pour ta patience...
Cécile
 

MJ13

XLDnaute Barbatruc
Re : Copier Coller d'infos sur autre feuilles selon critere

Re bonjour

Malheureusement mon but est d'aider ,mais je n'ai pas assez de temps pour créer une application.

Essaye de repartir de mon fichier pour voir comment il fonctionne puis reviens avec un fichier même simple. Je suis sur qu'il y aura un âme charitable pour t'aider.

Bon courage.

Bon en relisant attentivement ton dernier post: Il suffit d'insérer un module (Alt+F11, clic droit sur ThisWorkbook puis insertion Module). Puis tu copie les macros Filtre_Elaboré et Lance. Ensuite tu quittes l'éditeur VBA(Alt+F4), tu peux lancer la macro "Lance" avec soit la flêche verte de la barre d'outils Visual basic, soit alt+F8 puis double-clic sur Lance.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 098
Membres
104 030
dernier inscrit
Angy