Ne copier que si la valeur d'une cellule différente de 0

amapacha

XLDnaute Junior
Bonjour à toutes et tous,

J'ai une fois de plus besoin d'aide,

j'ai un classeur de 2 feuilles une feuille (données) et une feuille (graphiques)

Sur la feuille (données), je souhaite copier les lignes à partir de A12:J12 jusqu'à A100:J100 et les coller sur la feuille

(graphiques) mais en vérifiant à chaque fois la valeur des cellules de la colonne F12:F100 si la valeur est 0 dans une

cellule ne pas copier la ligne mais qu'il n y ait pas de ligne vide aussi sur la feuille (graphique) quand on colle.

quand on clique sur le bouton auquel je vais associer la macro, effacer la feuille (graphiques) et refaire le travail

Merci d'avance
 

Pièces jointes

  • Amapacha.xlsx
    13.9 KB · Affichages: 16
  • Amapacha.xlsx
    13.9 KB · Affichages: 20
  • Amapacha.xlsx
    13.9 KB · Affichages: 22

vgendron

XLDnaute Barbatruc
Re : Ne copier que si la valeur d'une cellule différente de 0

Hello

essaie avec ce code dans un module vba

Code:
Sub Macro3()

' on efface la feuille Graphiques
With Sheets("Graphiques")
    .Range("A13:J" & Range("A65536").End(xlUp).Row).Clear
End With

'utilisation d'un filtre pour ne sélectionner que les data utiles
    Sheets("Données").Range("F11").AutoFilter
    ActiveSheet.Range("$A$11:$J$100").AutoFilter Field:=6, Criteria1:="<>", Operator:=xlAnd, Criteria2:="<>0"
    
    Rows("12:100").Select
    'copy vers la feuille graphique
    Selection.Copy Destination:=Sheets("Graphiques").Rows("13:13")
End Sub
 

amapacha

XLDnaute Junior
Re : Ne copier que si la valeur d'une cellule différente de 0

ça marche.!

mais je me suis rendu compte qu'en triant la feuille (Donnee) est modifiée.
c'est vrai que c'est un tri mais je voudrais qu'à la fin de l'action,
la feuille (Donnee) redevienne comme au lancement (c'est à dire avec des 0)

regarde en pj ce que ça donne
 

Pièces jointes

  • Amapacha.xlsm
    25.9 KB · Affichages: 41

vgendron

XLDnaute Barbatruc
Re : Ne copier que si la valeur d'une cellule différente de 0

non non. ca ne modifie rien.. c'est juste que le filtre est resté actif
suffit donc de reafficher tout
à la fin de la macro, ajoute juste cette ligne (juste avant End sub)
ActiveSheet.Range("$A$11:$J$100").AutoFilter Field:=6
 

Discussions similaires

Statistiques des forums

Discussions
312 470
Messages
2 088 698
Membres
103 924
dernier inscrit
Patrick c