Copier-coller avec condition

steevassie

XLDnaute Junior
Bonjour,

Je demande de vos conseils pour faire un copier coller avec condition.
En fait, je dispose d'une base de commande avec toutes les réferences, et je veux sur une autre page"envoi" seulement les refs commandées c'est à dire quantitéé supérieur à 0.
Pouvez vous m'aider.
Merci d'avance
 

Pièces jointes

  • base_commande_alliance2003.xls
    44.5 KB · Affichages: 113

kadichon

XLDnaute Nouveau
Re : Copier-coller avec condition

Bonjour,
il y a différentes façons de produire le résultat demandé...
Faut-il rendre ce filtrage dynamique ou non ?

1- Si non :
Il suffit d'insérer un filtre (Données -> Filtre -> Filtre automatique) puis de choisir un critère personnalisé sur le champ quantité supérieur à 0.
Il n'y a alors plus qu'à faire un copier/coller des lignes trouvées.

2- Si oui :
Créer par exemple un tableau croisé dynamique en créant un champ supplémentaire qui vérifie si la quantité commandée est supérieure à 0 et filtrer le tableau sur ce champ.

En espérant que ces quelques pistes puissent aider !
Cdlt,
 

steevassie

XLDnaute Junior
Re : Copier-coller avec condition

En filtrant, j'ai réussi à obtenir cette macro:

Sub CommandButton1_Click()
'
' copie_envoi Macro
'

'
Selection.AutoFilter Field:=8, Criteria1:="<>"
Range("A5:D52,G5:G52,I5:L52").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("ENVOI").Select
Range("A24").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("BASE").Select
ActiveSheet.Range("$A$4:$L$50").AutoFilter Field:=8
ActiveWindow.SmallScroll Down:=39
Sheets("ENVOI").Select

End Sub


Mais il me reste un souci je n'arrive pas à choisir la bonne ligne ("A24") dans la feuille ENVOI.
SI je tape Range("A24").Select, il me fait un bug.
Pouvez vous m'aider
 

koala47

XLDnaute Nouveau
Re : Copier-coller avec condition

salut

il faut que tu remplace selection par [b12]


[b12].AutoFilter Field:=8, Criteria1:="<>"
Range("A552,G5:G52,I5:L52").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("ENVOI").Select
'Range("A24").Select
[A24].PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("BASE").Select
ActiveSheet.Range("$A$4:$L$50").AutoFilter Field:=8
ActiveWindow.SmallScroll Down:=39
Sheets("ENVOI").Select

End Sub




et ca devrai marcher

possible qu tu es un souci avec pastespecial

si quelqu 'un a la solution pour paste special qui marche pas en lancant depuis vba

a plus tard
 

Discussions similaires

Réponses
9
Affichages
425
Réponses
6
Affichages
455

Statistiques des forums

Discussions
312 559
Messages
2 089 641
Membres
104 239
dernier inscrit
STEVEALL