Suppression de ligne si condition

Angy1105

XLDnaute Junior
Bonjour le forum,

Je suis de retour pour de nouvelles informations.
Je travaille actuellement sur un projet important via Excel et je suis confronté à un petit souci.
Dans le fichier Excel ci-joint, je souhaite supprimer les lignes où les cases délais sont vides et cela lors de la fermeture du fichier.

J'ai déjà un code qui marche bien mais je voudrais qu'en parallèle, les dates d'échéances apparaissent à l'ouverture du fichier.

Voici le code que j'utilise dans mon fichier :
PHP:
Sub test()
Dim i As Integer
Application.ScreenUpdating = False
For i = 28 To 9 Step -1
    If IsEmpty(Cells(i, 5).Value) Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub

J'ai ajouté la fonction somme des dates dans la case souhaitée mais le problème c'est qu'à la fermeture du fichier, les lignes vides sont supprimées et la fonction disparaît.

Je vous envoie un fichier exemple et j'espère que vous comprendrez mon problème.

En attendant, je continue de chercher sur le forum car je sais qu'il y a beaucoup de choses intéressantes.

Bonne journée à tous.
 

Pièces jointes

  • Classeur1.xls
    17 KB · Affichages: 83
  • Classeur1.xls
    17 KB · Affichages: 79
  • Classeur1.xls
    17 KB · Affichages: 87

job75

XLDnaute Barbatruc
Re : Suppression de ligne si condition

Bonjour Angy,

Voyez si le fichier joint correspond à ce que vous souhaitez.

La macro dans ThisWorkbook :

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Long
With Sheets("Feuil1")
For i = .Range("A65536").End(xlUp).Row To 2 Step -1
If .Cells(i, 3).Value = "" Then
.Rows(i).Delete
Else
[COLOR="Red"]If .Cells(i, 5).FormulaR1C1 <> "=RC[-4]+RC[-2]" Then[/COLOR] .Cells(i, 5).FormulaR1C1 = "=RC[-4]+RC[-2]"
End If
Next
End With
End Sub

Edit : ajouté le test en rouge pour éviter de modifier la feuille quand ce n'est pas nécessaire

A+
 

Pièces jointes

  • Angy.xls
    27 KB · Affichages: 67
  • Angy.xls
    27 KB · Affichages: 73
  • Angy.xls
    27 KB · Affichages: 66
Dernière édition:

Dull

XLDnaute Barbatruc
Re : Suppression de ligne si condition

Salut Angy1105, Job:), le Forum

peut-être comme cela

Code:
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Long
For i = Feuil1.Range("A65536").End(xlUp).Row To 2 Step -1
    If IsEmpty(Cells(i, 3).Value) Then Rows(i).Delete
Next i
End Sub
Bonne Journée
 

Angy1105

XLDnaute Junior
Re : Suppression de ligne si condition

Bonjour le forum,

J'ai encore besoin d'un coup de pouce.
Je voudrais que lorsqu'on ajoute la date de réalisation dans le fichier ci-joint, la ligne entière soit supprimée.
J'utilise déjà ce code pour supprimer des lignes :

PHP:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Long
With Sheets("Suivi")
For i = .Range("A65536").End(xlUp).Row To 6 Step -1
If .Cells(i, 5).Value = "" Then
.Rows(i).Delete
Else
.Cells(i, 8).FormulaR1C1 = "=RC[-7]+RC[-3]"
End If
Next
End With
End Sub

Est-il possible de rajouter la seconde suppression dans ce même code ?
Si un fil existe déjà sur le sujet, pouvez-vous me le transmettre, je vous remercie.

Bonne journée à tous.
 

Pièces jointes

  • Classeur2.xls
    17 KB · Affichages: 81
  • Classeur2.xls
    17 KB · Affichages: 79
  • Classeur2.xls
    17 KB · Affichages: 89

Dull

XLDnaute Barbatruc
Re : Suppression de ligne si condition

Salut Angy1105, le Forum

Peut être comme cela

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Long
With Sheets("Suivi")
For i = .Range("A65536").End(xlUp).Row To [B][COLOR=Red]2[/COLOR][/B] Step -1
If .Cells(i, 5).Value = "" [COLOR=Black][B]Or IsDate(.Cells(i, 6))[/B][/COLOR] Then' [COLOR=Green]ou [B]Or .Cells(i, 6) <> "" Then[/B][/COLOR]
.Rows(i).Delete
Else
.Cells(i, 8).FormulaR1C1 = "=RC[-7]+RC[-3]"
End If
Next
End With
End Sub
Suppression des lignes à partir de la ligne 2

Bonne Journée
 

alfrede

XLDnaute Nouveau
Re : Suppression de ligne si condition

bonjour,

J'ai un peu le même problème, je souhaiterais supprimer entièrement la ligne si une des celulles de la colonne A est supérieur à 600 000.

Quelqu'un peut il m'aider??

merci d'avance
 

Pierrot93

XLDnaute Barbatruc

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 331
Membres
103 188
dernier inscrit
evebar