Macro:rapatriement de données selon une condition

jaba

XLDnaute Junior
Bonjour,

Je suis débutante en vba et je cherche rapatrier des données d'un onglet à un autre selon une condition ( différent de "Satisfaisant")

ci dessous un fichier qui explique ce que je veux faire.

Merci d'avance!
 

Pièces jointes

  • test 0.xls
    20 KB · Affichages: 79
  • test 0.xls
    20 KB · Affichages: 88
  • test 0.xls
    20 KB · Affichages: 83

Staple1600

XLDnaute Barbatruc
Re : Macro:rapatriement de données selon une condition

Re

Bon, comme je l'ai fait , je le poste (message édité: voir en bas du message)

Ici plusieurs critères cumulés :
Filtre les données différentes de :
Satisfaisant, X, T, et Z

Code:
Sub Macro2_Avec_Filtre_Elabore()
Dim c_rit$
Dim a As Worksheet, b As Worksheet, plage As Range
c_rit = "=AND(RC[-2]<>""Satisfaisant"",RC[-2]<>""X"",RC[-2]<>""T"",RC[-2]<>""Z"")"
Set a = Sheets("Données"): Set b = Sheets("Result")
b.Columns("A:B").Clear
With a
  Set plage = .[A1].Resize(.[A65536].End(xlUp).Row, 3)
    .[E2].FormulaR1C1 = c_rit
    plage.AdvancedFilter xlFilterInPlace, .Range("E1:E2"), False
    Set plage = Intersect(.Range("A:B"), plage.SpecialCells(12))
    plage.Copy b.[A1]
    .ShowAllData
    .[E2] = Empty
End With
Set a = Nothing
Set b = Nothing
Set plage = Nothing
End Sub
N'hésites pas si tu as des questions.

EDITION: une version plus concise (en choisissant Filtrer vers un autre emplacement)

Code:
Sub FE_plus_court()
Dim c_rit$
c_rit = "=AND(RC[-2]<>""Satisfaisant"",RC[-2]<>""X"",RC[-2]<>""T"",RC[-2]<>""Z"")"
Sheets("Result").Columns("A:B").Clear
With Sheets("Données")
    .[E2].FormulaR1C1 = c_rit
    .Range("A1").Resize(.[A65536].End(xlUp).Row, 3).AdvancedFilter xlFilterCopy, .Range("E1:E2"), Sheets("Result").Range("A1:C1"), False
    .[E2] = Empty
End With
End Sub
 
Dernière édition:

maslocos

XLDnaute Nouveau
Re : Macro:rapatriement de données selon une condition

bonjour messieur, je vois que apparament vous avez plus ou moins resolue un de mes grand sousis.

voila je m'explique j'ai un document excelle dans le quelle j'ai plusieur feuille . et dont une des feuilles a 1500 ligne.

on m'a demander de creer un fichier eclater de ce document par rapport au donner qui se trouve dans la colonne D , qui est une colonne avec des nom.

bon je suis une bille en excel je suppose que le code dois fonctionner mais ou le mette et comment le faire fonctionner?
 

Statistiques des forums

Discussions
312 273
Messages
2 086 695
Membres
103 372
dernier inscrit
BibiCh