Copier automatiquement une ligne d'une feuille sur une autre feuille suivant une date donnée.

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

DAVID-44-

XLDnaute Occasionnel
Bonjour, j'ai créé un classeur afin de gérer correctement les stocks.
Aussi, je souhaiterais, dans un premier temps, être alerté sur la feuille "URGENT" une semaine avant, sur les produits qui seraient à passer suivant leurs DLC dans toutes les catégories de la feuille "STOCK" ( ???? - Divers - Frais etc...).
En fait, copier automatiquement sur la feuille "URGENT", les lignes des produits, dont les DLC approchent de la date, une semaine avant et trier de haut en bas les produits de la date les plus prêts à la date la plus éloignée.

J'ai fait des essais, mais je n'y arrive pas.
Merci de votre aide.
 

Pièces jointes

Dernière édition:
Bonjour David,
A tester en PJ avec :
VB:
Sub Worksheet_Activate()
    Range("B9:G100").ClearContents
    LenCours = 9
    For L = 9 To 158
        If IsDate(Sheets("STOCK").Cells(L, "G")) And Sheets("STOCK").Cells(L, "G") <= Date - 7 Then
            Sheets("Urgent").Cells(LenCours, "B") = Sheets("STOCK").Cells(L, "B")
            Sheets("Urgent").Cells(LenCours, "C") = Sheets("STOCK").Cells(L, "C")
            Sheets("Urgent").Cells(LenCours, "E") = Sheets("STOCK").Cells(L, "E")
            Sheets("Urgent").Cells(LenCours, "F") = Sheets("STOCK").Cells(L, "G")
            Sheets("Urgent").Cells(LenCours, "G") = Sheets("STOCK").Cells(L, "H")
            LenCours = LenCours + 1
        End If
    Next L
    Range("B9:G100").Select
    ActiveWorkbook.Worksheets("URGENT").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("URGENT").Sort.SortFields.Add Key:=Range("F9:F100") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("URGENT").Sort
        .SetRange Range("B9:G100")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    [B6].Select
End Sub
La macro se lance quand on sélectionne la page URGENT.
 

Pièces jointes

Rebonjour, le procédé fonctionne, mais la date n'est pas la bonne ! En fait, j'aimerais être alerté dans " URGENT ", quand la DLC arrive près (1 semaine avant) de la date du jour c'est-à-dire pour cette semaine: du 15/10/2020 au 22/10/2020.
 
Bonjour, je reviens avec mon fichier, car je viens de m'apercevoir que dans ma feuille "URGENT", j'ai toutes les dates après le jour d'aujourd'hui et j'aimerais simplement être alerté que sur une semaine (par ex. : du 23/10/2020 au 30/10/2020). J’ai bien essayé de modifier, mais sans succès !

Merci de votre aide.
 

Pièces jointes

Par contre votre méthode pose un problème.
Dans stock vous ne pouvez plus insérer de ligne en cliquant sur le N° de ligne et faire Insertion ... car ça ouvre le calendrier puisque en sélectionnant la ligne vous sélectionner clic droit la cellule I.
A voir comment vous allez contourner le problème, si tant est que cela en soit un.
Peut être devrions nous effacer la ligne et non la supprimer, mais dans ce cas il y aura des "trous" dans la liste stock.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour