bonjour
dans le fichier joint, je souhaite que si la date de la colonne M est inférieure de 7 jours à la date système et bien la macro me récupère les lignes correspondant à ce critère et me les copie (enfin uniquement certains champs de la ligne qui sont indiqués dans la feuille relance) dans la feuille "relance"
Un internaute très sympa m'a déjà super dépanné sur des sujets identiques et je mets le code qu'il m'a communiqué ci dessous
quelqu'un peut t'il m'aider svp??
merci
Private Sub CommandButton3_Click()
Dim cell As Range
Application.ScreenUpdating = False
With Sheets("Relance")
.Range("A4" & ":" & "H" & .Range("G65536").End(xlUp).Row + 1).Clear
End With
For Each cell In Sheets("FEB").Range("E7:E" & Sheets("FEB").Range("E65536").End(xlUp).Row)
If cell.Value = "Validation ACHATS" Or cell.Value = "Traitement ACHATS" Then
If cell.Offset(0, 2) = "Oui" Then
cell.Offset(0, -3).Copy Sheets("Relance").Range("A" & Sheets("Relance").Range("A65536").End(xlUp).Row + 1)
cell.Offset(0, -1).Copy Sheets("Relance").Range("B" & Sheets("Relance").Range("B65536").End(xlUp).Row + 1)
cell.Copy Sheets("Relance").Range("C" & Sheets("Relance").Range("C65536").End(xlUp).Row + 1)
cell.Offset(0, 1).Copy Sheets("Relance").Range("D" & Sheets("Relance").Range("D65536").End(xlUp).Row + 1)
cell.Offset(0, 8).Copy Sheets("Relance").Range("E" & Sheets("Relance").Range("E65536").End(xlUp).Row + 1)
cell.Offset(0, 9).Copy Sheets("Relance").Range("F" & Sheets("Relance").Range("F65536").End(xlUp).Row + 1)
cell.Offset(0, 10).Copy Sheets("Relance").Range("G" & Sheets("Relance").Range("G65536").End(xlUp).Row + 1)
cell.Offset(0, 11).Copy Sheets("Relance").Range("H" & Sheets("Relance").Range("H65536").End(xlUp).Row + 1)
cell.Offset(0, 15).Copy Sheets("Relance").Range("I" & Sheets("Relance").Range("I65536").End(xlUp).Row + 1)
End If
End If
Next
Tri_InserLigne
Application.ScreenUpdating = True
End Sub
dans le fichier joint, je souhaite que si la date de la colonne M est inférieure de 7 jours à la date système et bien la macro me récupère les lignes correspondant à ce critère et me les copie (enfin uniquement certains champs de la ligne qui sont indiqués dans la feuille relance) dans la feuille "relance"
Un internaute très sympa m'a déjà super dépanné sur des sujets identiques et je mets le code qu'il m'a communiqué ci dessous
quelqu'un peut t'il m'aider svp??
merci
Private Sub CommandButton3_Click()
Dim cell As Range
Application.ScreenUpdating = False
With Sheets("Relance")
.Range("A4" & ":" & "H" & .Range("G65536").End(xlUp).Row + 1).Clear
End With
For Each cell In Sheets("FEB").Range("E7:E" & Sheets("FEB").Range("E65536").End(xlUp).Row)
If cell.Value = "Validation ACHATS" Or cell.Value = "Traitement ACHATS" Then
If cell.Offset(0, 2) = "Oui" Then
cell.Offset(0, -3).Copy Sheets("Relance").Range("A" & Sheets("Relance").Range("A65536").End(xlUp).Row + 1)
cell.Offset(0, -1).Copy Sheets("Relance").Range("B" & Sheets("Relance").Range("B65536").End(xlUp).Row + 1)
cell.Copy Sheets("Relance").Range("C" & Sheets("Relance").Range("C65536").End(xlUp).Row + 1)
cell.Offset(0, 1).Copy Sheets("Relance").Range("D" & Sheets("Relance").Range("D65536").End(xlUp).Row + 1)
cell.Offset(0, 8).Copy Sheets("Relance").Range("E" & Sheets("Relance").Range("E65536").End(xlUp).Row + 1)
cell.Offset(0, 9).Copy Sheets("Relance").Range("F" & Sheets("Relance").Range("F65536").End(xlUp).Row + 1)
cell.Offset(0, 10).Copy Sheets("Relance").Range("G" & Sheets("Relance").Range("G65536").End(xlUp).Row + 1)
cell.Offset(0, 11).Copy Sheets("Relance").Range("H" & Sheets("Relance").Range("H65536").End(xlUp).Row + 1)
cell.Offset(0, 15).Copy Sheets("Relance").Range("I" & Sheets("Relance").Range("I65536").End(xlUp).Row + 1)
End If
End If
Next
Tri_InserLigne
Application.ScreenUpdating = True
End Sub