[résolu] Problème de filtre élaboré - VBA

nounbxl76

XLDnaute Occasionnel
Bonsoir la communauté,

Je viens vers vous car j’ai un petit souci de filtre élaboré avec VBA (je pense ?!) et j’ai lâché avant la crise de nerfs… Chaque mois je dois faire l’extraction d’une base de donnée en format Excel, ce qui me génère le fichier « extraction_nounbxl76 ». A partir de ce dernier, je dois alimenter un fichier récapitulatif appelé « base_nounbxl76 ».

Pour limiter les manips, depuis le fichier « base_nounbxl76 », j’aimerais lancer une macro qui me récupère les données du fichier « extraction_nounbxl76 » et qui me les compile à la suite (à minima sous la ligne d’en-tête = ligne 7 si pas de lignes déjà complétées).

Je joins les 2 fichiers pour + de clarté mais n’hésitez pas si besoin de précisions.

Merci pour votre aide. Bonne soirée.

PS : désolé, je n’ai que Excel 2003 sous la main et donc les exemples dispos sur le site qui sont réalisés en version ultérieure ne sont pas exploitables pour moi
 

Fichiers joints

Lone-wolf

XLDnaute Barbatruc
Bonjour nounbxl :), le Forum :)

J'ai du mal à comprendre ceci: compile à la suite (si pas de lignes déjà complétées). Dâprès l'image (résultat à obtenir) que tu as mis, ce n'est pas plutôt le contraire?
 

nounbxl76

XLDnaute Occasionnel
Bonjour à lone-wolf, bonjour le forum,

En fait, je voudrais éviter le "clearcontents".
Ex : si j'ai l'extraction de mars à ajouter, je souhaite que les extractions de janvier et février ne soient pas effacées (car je n'aurai plus les extractions concernées). En somme, il faudrait que les données ne mettent à la suite de la dernière ligne si possible.
Bonne journée et merci pour le coup de main.
 

Lone-wolf

XLDnaute Barbatruc
Re

En attendant ta réponse, j'ai fait la macro, avec tri déscendant de la colonne G; ce qui fait, que tu aura des derniers enregistrements en premières lignes. Pour l'autre demande (suppression des lignes), il ne faut pas mettre café au lait, quand ici c'est pizza au chocolat(je parle de données non identiques), après 200 messages tu devrais le savoir.
 

Fichiers joints

nounbxl76

XLDnaute Occasionnel
Merci Lone-wolf. Ca fonctionne visiblement.

Pour ce qui est de l’autre demande (suppression des lignes), j’ai utilisé le même fichier « anonymisé » pour + de facilité mais il s’agit bien d’une demande séparée.

C’est vrai que ça fait multiplier les posts mais je pensais que ça serait plus simple à expliquer, désolé.
 

Lone-wolf

XLDnaute Barbatruc
Re

j’ai utilisé le même fichier « anonymisé ». Mais dit-moi, où sont chef1 - 2 et 3 dans base ou extractions??? C'est de ça que je faisait allusion.
 

nounbxl76

XLDnaute Occasionnel
Ah désolé je n'avais pas compris.
Je ne voulais pas mélanger les infos mais c'est raté.
La liste où se trouvait chef 1,2,3... se trouvait sur la feuil2 de mon autre fichier
 

nounbxl76

XLDnaute Occasionnel
Désolé à nouveau.

J’ai exploité un peu + le fichier pour le faire correspondre à mon besoin dans le fichier « non anonymisé » et je rencontre un problème. Dans la mesure où le code fait un copier-coller de « extraction_nounbxl76 » vers « base_nounbxl76 », mes formules (ex : mois(F5) ou année(F5)) ne fonctionnent plus (j’ai des #REF!).

Que faudrait-il modifier dans le code pour que seules les valeurs soient reportées ? (peut-être un collage spécial des valeurs mais je ne sais pas faire).
 

Lone-wolf

XLDnaute Barbatruc
Re

je n'ai pas ouvert le fichier, je te donne un exemple à adapter

Range("a18:g65536").copy
Range("a2").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = 0
Application.GoTo Range("a1")
 

nounbxl76

XLDnaute Occasionnel
Ça semble bien reporté les valeurs mais j'ai toujours le problème de #REF! Avec les formules utilisant les données reportées :(
 

nounbxl76

XLDnaute Occasionnel
Ce qui est bizarre c'est que ça marche sur les fichiers que je vous ai communiqué (Excel 2003) mais pas sur les fichiers où je dois exploiter les données (Excel 2010)
 

Lone-wolf

XLDnaute Barbatruc
Re

Encore une stupidité que beaucoup commettent, c'est de mettre un fichier bidon au lieu de l'original. Ce qui fait 2 fois le travail.
 

nounbxl76

XLDnaute Occasionnel
Nous devons faire en sorte de téléverser des fichiers ne laissant paraître aucune données ("anonymisés") donc je ne vois pas comment nous pourrions communiquer les originaux. De +, il faut parfois jongler avec plusieurs versions de Excel. Dans mon cas, j'ai Excel 2003 à la maison et Excel 2010 sur mon pro donc je suis un peu "bloqué".
 

Lone-wolf

XLDnaute Barbatruc
Re

Ce n'est pas compliquer de copier le fichier original, l'enregistrer sous un nouveau nom et effacer les données en mettant des données bidons.
 

nounbxl76

XLDnaute Occasionnel
Dans mon cas je ne pourrai pas procéder ainsi car je n'ai pas la version Excel nécessaire chez moi pour procéder aux essais/tests si je transmets la copie "originale" pour que vous m'aidiez.
 

Lone-wolf

XLDnaute Barbatruc
Re

Dans ces deux fichiers en plus, je ne vois pas de formules. Elles sont, il me semble, sur le fichier pour la suppression des lignes.
 

Lone-wolf

XLDnaute Barbatruc
Bonsoir nounbxl76.

A mon humble avis, je pense que créer une macro avec un tableau serait beaucoup mieux, malheureusement je n'ai pas de maitrise. Faut souhaiter que quelqu'un de plus expérimenté vienne t'aider.
 

Discussions similaires


Haut Bas