Suppression de lignes [Règlé]

Philippe68

XLDnaute Occasionnel
Bonsoir le forum,

Soit un ou des produits en rupture de stock dont les dates sont en zone rouge.
J'aimerais une suppression de ligne automatique 10 jours après la date inscrite en zone verte.

J'ai mis volontairement le fichier en *.xlsm car je pense qu'il y aura du VBA dans l'air :cool:

Merci d'avance


Edit: comme je n'ai pas l'encoche pour problème résolu, j'ai édité mon titre. (je suis sous windows7)
 

Pièces jointes

  • Suivi Stock 0.xlsm
    14.4 KB · Affichages: 50
  • Suivi Stock 0.xlsm
    14.4 KB · Affichages: 52
  • Suivi Stock 0.xlsm
    14.4 KB · Affichages: 52
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : Suppression de lignes

Bonsoir,

38 Lignes de données "vides"....

Une suppression de ligne conditionnelle.....

38 conditions et pfiou, plus de tableau.....

Euh, un peu succinct, l'énoncé, non?

Effectivement, il y a du VBA là-dessous, car comment supprimer des lignes autrement?

Mais pour pouvoir te répondre correctement, il faudrait savoir exactement ce que tu désires....

Bon courage
 

Philippe68

XLDnaute Occasionnel
Re : Suppression de lignes

Bonsoir,

Pas besoin de remplir le tableau pour ça, tu peux mettre ce que tu veux sur une ligne par rapport à la tête de liste.
Le plus important sont les dates (n'importe lesquelles dans l'exemple) entrées en zone verte.
Ex : 20/12/11 =>> effacement ligne le 30 du même mois.
 

Philippe68

XLDnaute Occasionnel
Re : Suppression de lignes

Re,

oui il s'agit bien de suppression de ligne désolé.
les lignes supprimées, on en fait rien, à moins que l'on puisse mettre sur une 2eme feuille toute la liste des produits (lignes) supprimés.
si tu as le temps de voir, sinon tu laisses, le + important ce sont les 10 jours après les dates inscrites en zone verte.
 

Cousinhub

XLDnaute Barbatruc
Re : Suppression de lignes

Re-,

Et on en revient à la question :

"Une fois que les 38 lignes seront supprimées, comment faire....?????"

Pour la sauvegarde des données "effacées/supprimées", pas de soucis, on peut les déplacer dans un onglet nommé "historique", ceci n'est pas un problème, mais je ne sais pas comment tu remplis ta base de données, ni si tu vas t'arrêter à 38 saisies....

Une idée :

Peut-être qu'à l'ouverture du fichier, toutes les données "vieilles" de plus de 10 jours sont automatiquement enlevées de la feuille de travail, pour être sauvegardées dans cet onglet "historique", mais que tu conserves quant même une certaine plage de saisie conséquente

Mais ceci n'est qu'une idée...

@ +
 

Cousinhub

XLDnaute Barbatruc
Re : Suppression de lignes

Re-,

Comme tu l'as si bien dit, on va le faire via une procédure "VBA"

Juste ce petit code, qui forcément, fonctionne chez moi, mais qui n'est sûrement pas adapté à ton fichier final....

J'ai développé ce code avec 2 onglets

1er onglet nommé : "Donnees"

2ème onglet nommé : "Histo"

Et j'ai recopié les cellules ("A6:G6") de l'onglet "Donnees" en titre dans l'onglet "Histo"

Donc, avant d'essayer, adapte le nom de tes onglets, copie les titres, qu'on parle de la même chose...

Tu fais un clic droit sur le nom de l'onglet, puis tu sélectionnes "Visualiser le code"

Dans le code "ThisWorkbook", tu colles ce code :

Code:
Private Sub Workbook_Open()
Dim FeuilDonnees As Worksheet, FeuilHisto As Worksheet
Dim Cel As Range, ColRegul As Range
Dim DerCel As Range
Application.ScreenUpdating = False
Set FeuilDonnees = Sheets("Donnees")
Set FeuilHisto = Sheets("Histo")
Set DerCel = FeuilHisto.Cells(Rows.Count, "A").End(xlUp)(2)
Set ColRegul = FeuilDonnees.Range("G7:G44")
For Each Cel In ColRegul
    If IsDate(Cel.Value) And Cel.Value <> "" Then
        If Cel.Value + 10 < Date Then
            Set DerCel = FeuilHisto.Cells(Rows.Count, "G").End(xlUp)(2).Offset(, -6)
            With Cel.Offset(, -6).Resize(1, 7)
                .Copy DerCel
                .ClearContents
            End With
        End If
    End If
Next Cel
With FeuilDonnees
    .ListObjects("Tableau1").Sort.SortFields. _
        Add Key:=Range("Tableau1[Régularisé le]"), SortOn:=xlSortOnValues, Order _
        :=xlDescending, DataOption:=xlSortNormal
    With .ListObjects("Tableau1").Sort
        .Header = xlYes
        .Apply
    End With
End With
End Sub

Et tu me dis quoi....

Bonne soirée (ou bonne nuit, plutôt)
 

Philippe68

XLDnaute Occasionnel
Re : Suppression de lignes

Re et Bonjour,

oui pour moi c'est le même horaire entre la Bretagne et l'Alsace :cool:
revenons à nos moutons....

donc j'ai fais le test (concluant)
j'ai renommé les onglets et rajouter 2 boutons.
je pense que mon "problème" est considéré comme règlé.

merci pour ta contribution :cool:
 

Pièces jointes

  • Suivi Stock 0.xlsm
    30.1 KB · Affichages: 50
  • Suivi Stock 0.xlsm
    30.1 KB · Affichages: 55
  • Suivi Stock 0.xlsm
    30.1 KB · Affichages: 53

Statistiques des forums

Discussions
312 330
Messages
2 087 347
Membres
103 525
dernier inscrit
gbaipc