Supprimer ligne

Résolu/Fermé
lugop Messages postés 15 Date d'inscription jeudi 11 juillet 2013 Statut Membre Dernière intervention 22 mars 2019 - Modifié par lugop le 1/12/2014 à 17:55
lugop Messages postés 15 Date d'inscription jeudi 11 juillet 2013 Statut Membre Dernière intervention 22 mars 2019 - 12 janv. 2015 à 16:38
Bonjour,


Je souhaiterai savoir comment je peux supprimer une ligne automatiquement sous excel 2003 lorsque dans la cellule E s'affiche #REF!
Je vous remercie par avance de votre aide.
A voir également:

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
1 déc. 2014 à 18:05
Bonjour,
En VBA cela est facilement réalisable :

Sub suprRef()
Dim i as Long
Dim ColE as Integer
       ColE = 5
Dim lastRow As Long
lastRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

For i = lastRow To 1 Step -1
valCel = Cells(i, ColE).Formula
If valCel = "=#REF!" Then
  Debug.Print "Suppression de la ligne :" & i
  Rows(i).Delete
End If

Next

End Sub


0
lugop Messages postés 15 Date d'inscription jeudi 11 juillet 2013 Statut Membre Dernière intervention 22 mars 2019
2 déc. 2014 à 10:51
Bonjour Jordane45,

J'ai essayé cette macro mais cela ne fonctionne pas, la ligne n'est pas supprimée.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > lugop Messages postés 15 Date d'inscription jeudi 11 juillet 2013 Statut Membre Dernière intervention 22 mars 2019
2 déc. 2014 à 11:38
1 - Avez vous regardé en mode pas à pas ce qu'elle faisait ? .. les valeurs des différentes variables.... ??

2 - Pourriez-vous nous mettre à dispo un exemplaire de votre classeur qu'on regarde ?
(en utilisant le site de dépose : cijoint.com puis en nous collant le lien ici ) ?
0
lugop Messages postés 15 Date d'inscription jeudi 11 juillet 2013 Statut Membre Dernière intervention 22 mars 2019 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
2 déc. 2014 à 16:27
Merci beaucoup, ci-joint le lien : https://www.cjoint.com/?3LcqCYnPQJL
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
2 déc. 2014 à 17:33
Voilou :

Sub sbDelete_Rows_IF_Cell_Contains_Error()
Dim lastRow As Long
    lastRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Dim iCntr As Long
Dim ColE As Integer
     ColE = 5
     
For iCntr = lastRow To 1 Step -1
If IsError(Cells(iCntr, ColE)) Then
    Debug.Print "Suppression de la ligne :" & iCntr
    Rows(iCntr).Delete
End If
Next
End Sub


0
Merci beaucoup mais je ne peux pas essayer cette macro pour le moment car je suis en arrêt de travail.
Dès ma reprise, je vous tiendrai au courant.
Encore merci
0
lugop Messages postés 15 Date d'inscription jeudi 11 juillet 2013 Statut Membre Dernière intervention 22 mars 2019 > lugop
12 janv. 2015 à 16:38
Bonjour,

Enfin de retour, la dernière macro fonctionne très bien. Merci beaucoup
Bonne année
0