Macro pour effacer une ligne dont une cellule est vide

mic67

XLDnaute Junior
Bonjour,
Dans une feuille j'ai un tableau de la ligne 3 à 17
et si une cellule en G est vide la ligne doit s'effacer et
les lignes de dessous doivent remontées mais apres
la ligne 17 tout reste en place.
La macro que j'ai me remonte tout.

Sub efface_A_vide()
Dim l As Integer
For l = Cells(17, 7).End(xlUp).Row To 1 Step -1
If Cells(l, 7).Value = "" Then Cells(l, 7).EntireRow.Delete
Next l
End Sub
Je joint un petit fichier
Cordialement
 

Pièces jointes

  • Classeur2.xlsm
    18 KB · Affichages: 44
  • Classeur2.xlsm
    18 KB · Affichages: 58
  • Classeur2.xlsm
    18 KB · Affichages: 56

Gorfael

XLDnaute Barbatruc
Re : Macro pour effacer une ligne dont une cellule est vide

Salut au forum
Pas envie de me prendre la tête pour un truc aussi simple :
il suffit que chaque fois qu'une cellule est vide en G, tu insères une ligne en linge 17, et après seulement tu effaces la ligne concernée.
A+
 

job75

XLDnaute Barbatruc
Re : Macro pour effacer une ligne dont une cellule est vide

Bonjour mic67,

Code:
Sub Remonte()
Dim P As Range, ncol%, t(), i&, n&, j%
Set P = [A3:K17] 'plage à adapter
ncol = P.Columns.Count
ReDim t(1 To P.Rows.Count, 1 To ncol)
For i = 1 To P.Rows.Count
  If P(i, 7) <> "" Then
    n = n + 1
    For j = 1 To ncol
      t(n, j) = P(i, j)
    Next
  End If
Next
P = t
End Sub
Edit : bonjour Gorfael, heureux de te voir, tu te fais rare.

A+
 
Dernière édition:

Discussions similaires

Réponses
0
Affichages
83

Statistiques des forums

Discussions
311 709
Messages
2 081 774
Membres
101 816
dernier inscrit
Jfrcs