Supprimer les lignes d'apparence vide alors qu'il y a une formule

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

L

lolodepau

Guest
Bonjour a tous,
je voudrais bien un coup de main pour un macro qui me permet de supprimer les lignes vides d’apparence dans un tableau ("H6:K406") car il y a une formule du type =si(X="";"";X).
Merci
 
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Le screenshot sert à quoi? Comme l'a suggéré précédemment phlaurent55, je pense que ton problème serait résolu depuis un moment si tu mettais un fichier en pièce jointe.
 
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Re 🙂,
Si tu commences à K8500, c'est que tu as des formules jusque là je suppose 🙄...
Donc End(XlUp) s'arrêtera forcément à 8500 vu que si elle contient une formule, ta cellule est... non vide 😛 !
Donc la seule solution pour accélérer la chose, ce sera de tester d'autres méthodes qu'Evaluate en espérant que ce soit plus rapide 😱...
A plus 😎
 
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Re 🙂,
Non, réflexion faite, il y a d'autres solution comme de stocker la plage et la supprimer en une seule fois...
Si tu dis que la plupart des lignes sont dans les premières centaines, tu peux aussi faire une première boucle sans suppression et l'arrêter quand tu trouves une ligne non vide, tu supprimes depuis celle du dessous jusque à la dernière, puis tu mets une 2ème boucle qui va utiliser la suppression de départ, mais en repartant effectivement de la dernière ligne 🙄
Bonne suite 😎
 
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Dernière petite question est après je vous embête plus,
voila dans la macro si dessous je voudrais remplacer dans -For I = 8000 To 1 Step -1-
le 8000 par la valeur de la cellule A1 de l'onglet "Tn1"
de façon a quand je modifie le nombre dans la cellule A1 cela le modifie aussi directement dans la macro.
Si c'est possible.
Encore mille merci.

Sub Suppronglet1()

Dim I As Integer
Application.ScreenUpdating = False
For I = 8000 To 1 Step -1
If Evaluate("A" & I & "&B" & I & "&C" & I & "&D" & I & "&E" & I & "&F" & I & "&G" & I & "&H" & I) = "" Then
Rows(I).Delete
End If
Next I
Application.ScreenUpdating = True
End Sub
 
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Re 🙂,
B A BA du VBA 😛...
Code:
For I = Sheets("Tn1").Range("A1") To 1 Step -1
Mais si A1 est égal à 0, un chiffre à virgule ou du texte, plantage assuré 🙄...
Bye 😎
 
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

j'ai un tableau avec en colonne A des chiffre et vide ensuite, je voudrais une fonction qui me donne le numéro de ligne aprés le dernière chiffre, du genre : Premier vide de la colonne A alors le résultat qui apparaît dans ma cellule sera 9(en fonction de l'exemple si dessous).
Voila , j’espère avoir été clair.


A
1 15
2 2
3 14
4 148
5 752
6 24
7 36
8 50
9
10
11
 
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Re 🙂,
SVP une âme charitable 🙁
Si c'était si simple, tu crois pas qu'on l'aurait intégré dès le début à la macro 🙄 ?
Tu redonnes un nouvel exemple, mais avant, il y avait des trous (cf ta copie d'écran)... Si dans toutes les lignes de la colonne A, il y a des chiffres jusqu'à la dernière ligne, ça fait des heures qu'on cherche la complication pour rien 😱... Si ce n'est pas le cas, tu nous renvoies sur une fausse piste 😡...
Bref, je passe la main 🙁
 
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Excuse moi mais ce que je demande n'avait aucun rapport avec l'image de tout à l'heure désoler.C'était une question à pars! 🙁
 
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Bonjour à tous



Bien que la situation ait l'air changeant, et que, par conséquent, je sois certainement hors de propos, voilà une proposition répondant (je l'espère) à la problématique initiale, i.e. suppression des lignes apparemment vides des colonnes A à K :​
VB:
Sub Efface_Lignes_Apparemment_Vides()
Dim i&, j&, k, s$, plg As Range
    With Application: .ScreenUpdating = False: .Calculation = xlCalculationManual: .EnableEvents = False: End With
    Set plg = Columns("A:K") 'Bloc de colonnes à traiter
    k = plg.Columns.Count
    For i = plg.Columns(1).Cells(Rows.Count).End(xlUp).Row To 2 Step -1
        For j = 1 To k: s = s & Cells(i, j).Value: Next
        If s = "" Then Rows(i).Resize(1, k).Delete shift:=xlUp Else s = ""
    Next
    With Application: .EnableEvents = True: .Calculation = xlCalculationAutomatic: .ScreenUpdating = True: End With
End Sub
Temps d'exécution : environ une minute pour traiter dix mille lignes dont les deux tiers sont vides. (Voir le classeur joint.)​



ROGER2327
#5891


Vendredi 6 Merdre 139 (Saint Cucufat, mécène - fête Suprême Quarte)
4 Prairial An CCXX, 6,1527h - angélique
2012-W21-3T14:45:59Z
 

Pièces jointes

Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Re...


SVP une âme charitable 🙁

Code:
=MAX(($A$1:$A$40<>"")*LIGNE($1:$40))+1
à valider par Ctrl Maj Entrée.
(Augmenter '40' si le nombre de données l'exige.)



ROGER2327
#5892


Vendredi 6 Merdre 139 (Saint Cucufat, mécène - fête Suprême Quarte)
4 Prairial An CCXX, 6,2853h - angélique
2012-W21-3T15:05:05Z
 
- 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
9
Affichages
530
Réponses
17
Affichages
704
Retour