Suppression lignes avec formules

  • Initiateur de la discussion Initiateur de la discussion jeanphi
  • 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 !

jeanphi

XLDnaute Occasionnel
Bonjour

Dans une feuille, j'utilise des formules permettant de récupérer des infos provenant d'une autre feuille
J'utilise une macro me permettant de supprimer les lignes vides
Le pb est que la macro ne fonctionne pas puisqu'il y a des formules dans les cellules test et du coup elle considère la ligne "non vide"!!
Comment puis je faire pour supprimer les lignes si la condition suivante est remplie: Si Cellule de la colonne B6 à B1000 vide, suppression de la ligne entière même si il y a une formule dans les cellules B6 à B1000
Quelqu'un a t'il une idée???
Merci
 

Pièces jointes

  • F.xls
    F.xls
    22.5 KB · Affichages: 340
Re : Suppression lignes avec formules

Bonsoir,

essaie avec ce code :

Code:
Sub supp_vides()
Dim DerLig As Long
DerLig = [B65000].End(xlUp).Row
Range("B5:B" & DerLig).SpecialCells(xlCellTypeFormulas, 2).EntireRow.Delete
End Sub

nota : SpecialCells(xlCellTypeFormulas, 2) correspond à Edition/Atteindre, Cellules, Formules, et uniquement "Texte"
Si tes valeurs recherchées en colonne B sont uniquement du numérique, bien sûr...
 
Re : Suppression lignes avec formules

Bonsoir


bhbh: (bonsoir) Pour le plaisir d'un oneline 😉

Code:
Sub supp_vides_ii()
Range("B5:B" &  [B65000].End(xlUp).Row).SpecialCells(xlCellTypeFormulas,2).EntireRow.Delete
End Sub

jeanphi: tu peux tester quelle macro s'éxécute plus vite
celle de bhbh ou celle-ci ci-dessous
Code:
Sub supp_lb()
Application.ScreenUpdating = False
For i = 1000 To 6 Step -1
If Cells(i, 2).HasFormula Then
Cells(i, 2).EntireRow.Delete
End If
Next
Application.ScreenUpdating = True
End Sub
 
Dernière édition:
Re : Suppression lignes avec formules

Re-,

JM

ton code numéro 2, et le mien n'ont rien à voir.....

Dans mon code, je teste le résultat d'une formule

Si c'est du texte (donc, ""), on supprime la ligne

dans ton code numéro 2, tu testes si la formule existe....

Et oui, la formule existe, mais le résultat est : ""

Amicalement
 
Re : Suppression lignes avec formules

Re-,

le but, n'est pas de chercher la formule, mais le résultat

si le résultat est numérique, on garde

si non, le résultat correspond à du texte

Fais un Ctrl + T (Atteindre)
Clique sur Cellules (en bas à gauche)
Valides "Formules", et uniquement "Texte"

Tu auras alors les cellules "", le choix dans sa formule étant soit un nombre, soit vide ("")
 
Re : Suppression lignes avec formules

Re



Comme cela ce serait l'équivalent de ton code alors ?


Code:
Sub supp_lb_II()
Application.ScreenUpdating = False
For i = 1000 To 6 Step -1
If Cells(i, 2).HasFormula And Not IsNumeric(Cells(i, 2)) Then
Cells(i, 2).EntireRow.Delete
End If
Next
Application.ScreenUpdating = True
End Sub
 
Re : Suppression lignes avec formules

Re,

Perso, je verrai plutôt :

Code:
Sub supp_lb_II()
Application.ScreenUpdating = False
For i = [B65000].End(xlUp).Row To 6 Step -1
    If Cells(i, 2).Value = "" Then Cells(i, 2).EntireRow.Delete
Next
Application.ScreenUpdating = True
End Sub
 
- 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

Réponses
7
Affichages
176
Réponses
1
Affichages
114
Réponses
78
Affichages
2 K
Retour