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