Recopier ligne sur une autre feuille selon plusieurs critères de cellule

pierrof

XLDnaute Occasionnel
Bonjour le forum

Meilleures vœux à tout le monde!!!!!

Je souhaiterai à l'aide d'une macro recopier des lignes d'une feuille A sur une feuille B.
Les 2 conditions pour que la ligne soit recopiée sont des valeurs de cellule.
Sachant que le tableau peut varié de x ligne.

Je laisse un petit fichier exemple pour plus de clarté.

Je vous remercie d'avance de votre aide et de vos explications.

A Bientôt
 

Pièces jointes

  • test5.xls
    29.5 KB · Affichages: 41
  • test5.xls
    29.5 KB · Affichages: 45
  • test5.xls
    29.5 KB · Affichages: 45

job75

XLDnaute Barbatruc
Re : Recopier ligne sur une autre feuille selon plusieurs critères de cellule

Bonsoir pierrof,

Un petit coup de filtre élaboré (avancé) :

Code:
Sub Copier()
'Feuil1 et Feuil2 sont les CodeNames des feuilles A et B
With Feuil1 'CodeName
  .[E2] = "=AND(C2=""C"",D2=""OK"")"
  Feuil2.[A:D].Clear 'RAZ
  .[A:D].AdvancedFilter xlFilterCopy, .[E1:E2], Feuil2.[A:D]
  .[E2] = ""
  Feuil2.Activate 'facultatif
End With
End Sub
Fichier joint.

A+
 

Pièces jointes

  • test(1).xls
    43 KB · Affichages: 43
  • test(1).xls
    43 KB · Affichages: 50
  • test(1).xls
    43 KB · Affichages: 52

goldenboy

XLDnaute Occasionnel
Re : Recopier ligne sur une autre feuille selon plusieurs critères de cellule

Bonjour à vous,

Moi j'avais pensé faire une boucle, mais je ne connaissait pas la méthode du filtre élaboré.

Voilà ce que j'avais commencé :

Option Explicit
Private Sub CommandButton1_Click()
Dim dernière_ligne_vide_A As Long
Dim dernière_ligne_vide_B As Long
Dim i As Integer
dernière_ligne_vide_A = Sheets("A").Range("A65536").End(xlUp).Row + 1
dernière_ligne_vide_B = Sheets("B").Range("A65536").End(xlUp).Row + 1

For i = 1 To dernière_ligne_vide_A
If Sheets("A").Cells(i, 3).Value = "C" And Sheets("A").Cells(i, 4).Value = "OK" Then
Rows(i).EntireRow.Select
MsgBox "C'est ok pour la ligne " & i
End If
Next
End Sub

Il ne reste plus qu'a copier et coller dans la dernière ligne vide de la feuille B
 

Discussions similaires

Statistiques des forums

Discussions
312 393
Messages
2 087 961
Membres
103 686
dernier inscrit
maykrem