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 Ninou, le Forum

Sous toute réserve de ma compréhension et de mon interprétation...

Option Explicit

Sub GarderLes80()
Dim Lig As Integer
Dim Col As Byte
Dim MyString As String

For Lig = 60 To 11 Step -1#
    MyString = ''
   
For Col = 4 To 11
        MyString = MyString & Cells(Lig, Col)
   
Next
       
Select Case Cells(Lig, 1)
           
Case 50, 80
             
'Il ne se passe rien
           
Case Else
             
If MyString = '' Then Rows(Lig).Delete
         
End Select
Next

End Sub

Bonne Fin de Journée
[ol]@+Thierry[/ol]

EDITION !!!

Oups Oubli de ré-initialisation de MyString à vide

Message édité par: _Thierry, à: 12/04/2006 15:57
 

ninou58

XLDnaute Occasionnel
Ca me supprime la ligne vide et du coup la seconde n'a plus le numéro. Ce qu'il y a c'est que je n'ai pas que des 50, et des 80 mais tout plein de numéro.

En faite, c'est que si pour un numéro il y a 2 lignes et que parmis ces 2 lignes il y ait des noms alors il ne supprime pas ces lignes.

Sinon on perd le snuméros, et pour eux ça va être difficile de s'y repérer.

C'est pas possible de supprimer des cellulles?

Merci d'avance
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Ninou

Je ne saisis rien du tout ! lol

Un petit fichier exemple sans données confidentielles, avec une feuille 'Données d'Origine' et une feuille 'Données Souhaitées' bien représentatif des cas de figure que tu dois traîter serait bien plus explicite que tes explications, de plus la mise en forme sur le Forum, ne me permet pas de me figurer ton tableau.

Pour joindre un fichier : en format 'Zip', (winzip, ou sous XP le compresseur de fichier de Windows), nom de fichiers sans espace ni caractères spéciaux, taille du fichier moins de 50 Ko.

[ol]@+Thierry[/ol]
 

ninou58

XLDnaute Occasionnel
Voial, voilà ca arrive.
Je m'en doutais que j'aurais mal expliqué :)

J'ai pa smis le code dedans car sinon tu aurais pas vu la première feuille car il aurait supprimer les lignes.
La première feuille, c'est celle que j'exporte, et la secodne c'est celle que je dois obtenir dans mon nouveau classeur. Donc je le fais sur activate.

Merci [file name=Classeur2_20060412163731.zip size=12933]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2_20060412163731.zip[/file]
 

Pièces jointes

  • Classeur2_20060412163731.zip
    12.6 KB · Affichages: 20

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Ninou

Arf des cellules funsionnées, c'est toujours la cata, en plus il n'y a aucune structure, un coup elles sont fusionnées, un coup elles ne le sont pas, l'horreur...

Il faudrait faire un test en boucle pour les traquer :

If Cells(Lig, 1).MergeCells = True Then MsgBox 'bingo'

Mais bon là c'est trop long à traiter pour moi car je dois sortir, donc si j'ai le temps ou si personne ne te propose un truc je repasserai.

Bon courage
[ol]@+Thierry[/ol]
 

ninou58

XLDnaute Occasionnel
Re,
Merci quand même,
Pour les cellules fusionnés je n'ai pas le choix, c'est le format que l'on m'a imposé, et puis je ne pouvais pas mettre 2 fois le numéro de machine.
Espérons en attendant, qu'ils en seront pas assez bêtes pour laisser la première ligne vide et remplir la 2eme.

Merci
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

Voici un premier essai mais je ne retire pas la ligne rouge [file name=Classeur2_20060413094640.zip size=17015]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2_20060413094640.zip[/file]
 

Pièces jointes

  • Classeur2_20060413094640.zip
    16.6 KB · Affichages: 22

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Pascal, Ninou, Pat, le Forum

Oui c'est vraiment un casse-tête cette présentation !!!

Pas mal vu mon cher Pascal, mais tu as un 'hic' avec la colonne 'C' pour la ligne 24 par exemple sur le fichier en démo de la feuille d'origine.

En effet la cellule fusionnée (encore d'autres) de C23:C25 disparait avec sa valeur '3843'... Je pense que ça va manquer à Ninou même si elle dit que c'est suffisant...

Et comme tu dis il reste cette ligne rouge...

C'est vraiment un truc tordu cette présentation !

Avant de faire une usine à gaz, il serait souhaitable de savoir si une solution plus 'radicale' comme la suivante, pourrait faire l'affaire de Ninou...

Option Explicit


Sub TheBigMergeDestructor()
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

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.ScreenUpdating =
True

End Sub

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

ninou58

XLDnaute Occasionnel
Re bonjour,
J'ai essayé, et ça a l'air de fonctionné , on ne perds ni le numéro PDC ni le numéro tel.

Honnetement, j'ai pas tout compris, et faudra que je trouve un moment pour regarder tout ca comme il le faut.

Encore merci à vous.
:eek:
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re

Zut j'avais complètement zappé la colonne c et le fait qu'il y avait des cellules fusionnées dans celle-ci aussi. De plus à part la ligne rouge j'obtenais exactement le résultat de sa feuille car il n'y avait rien dans le C correpondant au 115-116 dans le resultat souhaité.

Alors j'ai envie de crier : 'A BAS LES CELLULES FUSIONNEES' :) :)

Message édité par: Pascal76, à: 13/04/2006 11:23
 

Discussions similaires

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

Statistiques des forums

Discussions
312 488
Messages
2 088 859
Membres
103 978
dernier inscrit
bderradji