Suppression de ligne si condition

  • Initiateur de la discussion Initiateur de la discussion Angy1105
  • Date de début Date de début

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 !

A

Angy1105

Guest
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

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

Dernière édition:
Re : Suppression de ligne si condition

Bonjour Job75

Oui ça correspond tout à fait à ma demande.
Je vais l'adapter à mon fichier Excel pour voir si tout fonctionne bien.

Je vous remercie.

Bonne journée.
 
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
 
Re : Suppression de ligne si condition

Merci beaucoup, le code marche bien sur mon fichier personnel.
J'ai utilisé celui de Job75, merci Dull d'avoir jeter un oeil à mon problème.

Bonne journée.
 
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

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
 
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
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
915
Réponses
3
Affichages
879
K
Réponses
5
Affichages
899
Retour