Supprimer lignes vides

  • Initiateur de la discussion ninou58
  • Date de début
N

ninou58

Guest
Re, Bonjour,

J'exporte une feuille1 dans un classeur 2.
Cette feuille 1 est remplie de ligne vide, j'aimerais les supprimer, mais j'ai quelques soucis.

PDC| TEL |nuit |matin |soir |nuit
50| 3767 |X |V |Y |X
|X |V |Y |S

80| 4505 |'' |'' |'' |''
|F |C |V |X
10 ...

La ou il ya les '' c'est vide.
50 est la fusion de deux ligne dans une colonne, idem pour 80 .Pour 50 on a 2 lignes.
Mon code de suppression :
For cpt = 60 To 11 Step -1#

If Cells(cpt, 4) = '' And Cells(cpt, 5) = '' And Cells(cpt, 6) = '' And Cells(cpt, 7) = '' And Cells(cpt, 8) = '' And Cells(cpt, 9) = '' And Cells(cpt, 10) = '' And Cells(cpt, 11) = '' Then
Rows(cpt).Delete
End If

Next cpt

Le souci, c'est qu'ici 80 va disparaitre puisqu'il va supprimer la première ligne et le 80 avec. Alors que je dois garder le 80.

Comment pusi je faire?

Merci pour votre aide d'avance
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re bonjour Pascal, Ninou, le Forum

Et bien si tu n'as pas tout compris Ninou, c'est parceque tu n'as pas lu le nom de ma procédure :

TheBigMergeDestructor lol

Après passage que Neni des MergeCells pour Ninou lol

Bon si ça convient tant mieux.... Sinon vu que le tableau est minuscule, on pourrait faire encore un passage pour reconstruire des MergeCells (par exemple pour les PDC '50' et les TEL '3767'...

Alors je propose en exclusivité sur XLD...

TheBigMergeDestructorAndReanimator (arf)

Option Explicit


Sub TheBigMergeDestructorAndReanimator()
Dim Lig As Integer
Dim Col As Byte
Dim MergedRange As Range, MergedCell As Range
Dim Plage As Range, Cell As Range
Dim TmpVal As String, MyString As String
Dim x As Byte

Application.ScreenUpdating =
False
Set Plage = Range(Range('B11'), Range('C60'))

For Each Cell In Plage
       
If Cell.MergeCells = True Then
            TmpVal = Cell.Value
           
Set MergedRange = Cell.MergeArea
            Cell.MergeCells =
False
               
For Each MergedCell In MergedRange
                    MergedCell = TmpVal
               
Next
       
End If
Next

For Lig = 60 To 11 Step -1#
    MyString = ''
   
For Col = 4 To 11
        MyString = MyString & Cells(Lig, Col)
   
Next
   
If MyString = '' Then Rows(Lig).Delete
Next

Application.DisplayAlerts =
False
For Col = 2 To 3
x = 0
   
For Lig = 11 To 60
        MyString = Cells(Lig, Col)
           
While MyString = Cells(Lig + x, Col) And Not MyString = ''
                  x = x + 1
                 
Set MergedRange = Range(Cells(Lig, Col), Cells(Lig + x, Col))
                    MergedRange.MergeCells =
True
           
Wend
   
Next Lig
Next Col

With Application
.DisplayAlerts =
True
.ScreenUpdating =
True
End With

End Sub


Bon Appétit !
[ol]@+Thierry[/ol]
 

ninou58

XLDnaute Occasionnel
Re,
J'ai peurrrrrrrrrrrrrrr lol
Je n'ai qu'un mot à dire ouahouuuuuuuuuuuuuuuuuu!
Ca les remet impec!
Heureusement j'ai les vacances pour comprendre tout ça!

Merci!
Bon espérons que les colonnes ne bougeront plus ;)

Bonne journée
Enfin depuis le temps que je ledis elle doit être bonne :)
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:Supprimer lignes vides avec cellules Fusionnées

Re Ninou

Tu m'as fait rire avec ta réponse !

Mais c'est vrai que tu nous en a fait voir avec cette mise en forme !! (hein Pascal !!!) ;)

Bonne Découverte du VBA pendant tes vacances !
et Joyeuses fêtes de Paques à tous et toutes !

[ol]@+Thierry[/ol]
 

ninou58

XLDnaute Occasionnel
Re:Supprimer lignes vides avec cellules Fusionnées

Re,
Bien si je t'ai fait rire ;) !
Ah bah disons que c'est même pas moi qui a fait le format, moi j'essaie d'adapter alors imagine tout le reste lol.
Disons que VBA, je connais, enin VB, et VBA Access, beaucoup plus, pourtant c'est presque pareil.
MAis on en apprend toujours tous les jours .
J'apprendrais aps Vba pendant les vacs
:( Les exams trop bientôt :)
++
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re:Supprimer lignes vides avec cellules Fusionnées

RE

Alors oui d'accord avec Thierry c'est le genre de mise en forme où au boulot je rale quand il m'en font une comme cela et qu'ensuite ils veulent plein de tri de machin et de bidules.

M'enfin l'avantage c'est que tu prends ça avec bonne humeur (j'entends quelqu'un qui a dit : 'ça change de grincheux par moment !!!' Non je n'ai pas cité de nom...).

Alors bonnes vacances et bon courage pour les exams.
 

ninou58

XLDnaute Occasionnel
Re:Supprimer lignes vides avec cellules Fusionnées

Re,
Oh bah oui, faut le prendre avec la bonne humeur, c'est pas leur faute a eux !lol
Vacances ce soir pour ma part! Alors ca serait bien que tuout soit au point :whistle: :evil:
Merci
 

Discussions similaires

Réponses
2
Affichages
176
Réponses
0
Affichages
176

Statistiques des forums

Discussions
312 492
Messages
2 088 931
Membres
103 984
dernier inscrit
maliko67