Amélioration d'une Macro(Recopie auto)

Bonjour à tous

J'ai besoin d'un peu d'aide car j'essaye de finaliser un fichier Excel mais je galère vraiment dans la dernière ligne droite, par moment j'ai vraiment l'impression de faire (((1+1)*2)/4)*2 = 2 au lieu de 1+1=2 , d'où la nécessite d'aide et de recul, surtout lorsqu'on ne maîtrise pas Excel/VBA

J'ai un fichier Excel avec 2 onglets ("Base1" et "Base2") dont les données viennent de sources externes.

Elles ont des colonnes communes jusqu'à la colonne V. les colonnes diffèrent ensuite, jusqu'à "AZ" au maximum

Elles sont mise à jour quotidiennement.

J'ai besoin de filtrer et de regrouper les lignes ces 2 bases dans une 3eme feuille("Résultat")

Pour ce faire, j'utilise comme filtre la dernière colonne commune, la colonne V

Suite à différentes formules avec les autres colonnes, elle me donne comme résultat une valeur.

Seuls les valeurs supérieures à 0 m’intéressent, pour pouvoir ensuite être recopiées dans la feuille "Résultat".

Le but étant de synthétiser les lignes des 2 bases dans la feuille Résultat avec comme condition une valeur supérieure à 0

Voila pour l'objectif mais pour la mise la mise en pratique, je bute sur plusieurs points :

- La recopie des lignes dans la feuille "Résultat " recopie aussi les formules et les lies avec la feuille initiale, ce qui donne des résultats erronés.

J'ai donc placé toutes les formules après la colonne V et j'ai intégré une macro qui recopie les résultats des formules en valeur dans les colonnes entre A et V, mais c'est vraiment bancal, surtout s'il y a une cellule vide.

Peut-on intégrer dans la maro recopie une option pour recopier uniquement en format valeur?

- J'ai un doute quand à la mise en forme lors de la recopie : ça a l'air de marcher dans le fichier que je joint ici mais pas dans mon fichier original: c'est pourtant les mêmes lignes de code.

Le but est d'avoir la même mise en forme que les feuilles Base (format tableau, bordures intérieures, centrées) et (là je ne sais pas si c'est possible) de trier par ordre décroissant la colonne V lors de la recopie?de manière à pouvoir travailler tout se suite sans besoin de mise en forme/tri

- La macro me recopie bien les lignes de la colonne V dont la résultat est > 0 mais ces lignes continuent jusqu'à la dernière colonne des 2 bases, or je n'ai pas besoin des ces colonnes (W:AZ) dans la feuille résultat, je ne m'en sert

que pour les formules dans les onglets Base1 et Base2 pour établir une valeur dans ma colonne V.

J'ai juste besoin d'une recopie A:V

- J'ai essayé d'automatiser la macro (elle doit se lancer s'il y a un changement dans les feuilles bases) mais l'appel marche aléatoirement dans mon fichier original

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("AZ")) Is Nothing Then
Call extract
End If
End Sub

Pour résumer,dans un scenario idéal, voici le le fil conducteur que j'essaye de développer et l’état d'avancement:

  • ouverture du fichier :OK
  • mise à jour auto des 2 feuilles "Base1" et "Base2" :OK
  • calculs pour déterminer une valeur dans la colonne V des 2 feuilles : OK
  • si au moins une des feuilles "Base1"et "Base2" modifiées et si colonne V >0 , alors recopie automatique les colonnes A:V dans l'onglet "Résultat" ,avec si possible une mise en forme identique sous forme de tableau : NOK

J’espère ne pas être trop confus dans les détails et je vous remercie par avance pour toute aide que vous pouvez m'apporter.

9test1.xlsm (50.18 Ko)

Bonjour,

à tester si c'est cela

on s’arrête à la colonne W et le reste on vide

crdlt,

André

12test1-0001.xlsm (68.32 Ko)

Bonjour André,

Merci beaucoup,la recopie des lignes s’arrête bien à la colonne V.

Il me reste néanmoins un dernier problème : j'ai des incohérences sur la feuille de résultats à l'issue de la cette recopie .

Je pense que cela doit provenir des cellules vides et des formules recopiées

Pour faire simple, puisque la colonne V des mes 2 tableaux (Base1 et Base2) est toujours remplie (au minimum avec la valeur 0)

j'aimerais intégrer cette condition dans la macro :

- pour toutes les lignes lignes des 2 tableaux Base1 et Base2 dont la valeur dans la colonne v est supérieure à 0,alors recopier entièrement la ligne complète, de la colonne A à la colonne V( valeurs uniquement,pas les formules) y compris les cellules vides entre la colonne A et V.

Tout aide serait la bienvenue

Merci par avance

Rechercher des sujets similaires à "amelioration macro recopie auto"