Supprimer lignes vides

Salut à tous, suite à mon dernier message qui permettait de supprimer les doublons et les additionnées, j'ai des lignes vides qui se crées, comment y remédier ?

181005102941714185

Cordialement

Bonjour

1) il serait bien de rappeler ton fil précédent

https://forum.excel-pratique.com/viewtopic.php?f=2&t=115152

2) le code que t'a donné dhany (que je salue), supprime les lignes

Alors comment peux-tu avoir des lignes vides !?

Salut,

En effet, c'était pas bête comme idée !

Alors :

- première code, sa insère des lignes lorsque H et H+1 <>

Sub i1() 'Insérer lignes si matière <>

Dim c As Long
Dim LastRow As Long

LastRow = Cells(Rows.Count, "H").End(xlUp).Row

For c = LastRow To 12 Step -1

If Range("H" & c).Value <> Range("H" & c).Offset(-1, 0).Value Then

Range("H" & c).EntireRow.Insert shift:=xlDown

End If

Next

End Sub

- second code, sa supprime et additionne les doublons

Sub i2()
  Dim dlig&, lig&: Application.ScreenUpdating = 0
  dlig = Cells(Rows.Count, 4).End(xlUp).Row
  For lig = dlig To 12 Step -1
    With Cells(lig, 4)
      If .Value <> "" And .Value = .Offset(-1) Then
        .Offset(-1, 1) = .Offset(-1, 1) + .Offset(, 1)
        Rows(lig).Delete
      End If
    End With
  Next lig
End Sub

Étrangement, sa marche bien si je fait un bouton pour appeler le premier code, et un autre bouton pour le second.

Sauf que je fais sa avec un seul bouton, en faisant :

Public Sub CommandButton1_Click()
Call i1
Call i2
End Sub

Et on trouve le résultat avec des lignes vides en haut..

Cordialement

Bonjour DRB_Fred

Comment espères-tu que l'on puisse t'aider si tu ne donnes pas tout l'énoncé du problème

De plus comme il est indiqué dans la charte du forum, il faut joindre un fichier à ta demande comme ça on peut éplucher le code et voir ce qui se passe.

A+

En effet..

Voici mes fichiers..

Ouvrir "Classeur1.xls", et cliquez sur "IMPORT" dans la feuille "DEBIT M." puis sélectionner le fichier "LISTING PANNEAUX - Copie.xlsx".

Cordialement

16classeur1.zip (151.31 Ko)

Re,

1) Si tu travailles avec Excel 2010 ou supérieur pense à créer des fichiers au format ".xlsm"

Tu travaillera sur le même nombre de ligne

2) Même si ta méthode me parait très "space", voici le fichier corrigé

Lors de l'insertion de ligne, il faut tester non seulement sir la valeur de Lig <> Lig-1

mais également si la valeur de Lig et Lig-1 ne sont pas vierge tout simplement

 If .Range("H" & c).Value <> "" And .Range("H" & c).Offset(-1, 0).Value <> "" Then
        If .Range("H" & c).Value <> .Range("H" & c).Offset(-1, 0).Value Then

J'ai quelque peu optimisé le code également

A+

20drb-fred-vbm45.xlsm (237.42 Ko)

Salut à toi,

Merci pour ton aide, ça marche très bien !

Rechercher des sujets similaires à "supprimer lignes vides"