Suppromer des lignes

Y

Yves

Guest
Bonjour,

Je me sert de Excel pour faire des rapports, une fois le travail terminé j'aimrais faire une macro qui va permettre d'effacer tous les lignes qui ne son pas utilisées.

Par exemple :

Plancher : En moquette.
Mur : En Gypse.
Plafond : En tuile acoustique.
Porte :
Fenêtres : En verre thermal.

Donc, comme il n'y a pas de porte j'aimerai effacer la ligne. J'ai fait une macro, mais quand il n'y a plus rien à chercher, il y a un message d'erreur.

La voici quand même :


Sub YASvide()
'
' YASvide Macro
' Macro recorded 2004-10-03 by YASéguin
'
'

Dim i, z As Integer
z = 2000

For i = 1 To z

If i = z = False Then

Range("C1").Select
Cells.Find(What:="YASvide", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Range(Selection, Cells(ActiveCell.Row, 1)).Select
Selection.EntireRow.Delete

End If
Next i
MsgBox "Opération de Nettoyage" & vbLf & "Terminée", vbOKOnly, "YAS conmmande"

End Sub


Merci à l'avance.
 
G

Gérard DEZAMIS

Guest
Salut Chtil60 et Yves

Est-ce "normal" qu'il faille relancer polusieurs fois la macro pour que le ménage soit fait entièrement ?

Boudiou non bien sûr vous allez me répondre mais encore .....


@+
GD
 
C

CHti160

Guest
re Salut " Yves" et Salut "Gérard DEZAMIS"
Non biensur puisque ce n'est pas ce que l'on voulait
donc nouvelle version qui elle fonctionne si cà ne va pas par en haut on passe par le bas Lol
A+++
Jean Marie
 

Pièces jointes

  • LigneVideV2.zip
    7.8 KB · Affichages: 12
C

CHti160

Guest
Re à tous
ou alors on fait pas dans le détail
Sub SupLigne()
Dim L As Integer
L = Sheets("Feuil1").Range("A65536").End(xlUp).Row
Sheets("Feuil1").Range("B2:B" & L).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
A+++
Jean Marie
 
C

CHti160

Guest
re "Yves"
donc tu peux utiliser la macro LigneVideV2.zip
Sub SupLigne()
Dim cel As Range
Dim L As Integer
Dim Lgn As Integer
Application.ScreenUpdating = False
On Error Resume Next
With Worksheets("Feuil1")'nom de la feuille "Feuil1"
Lgn = .Range("A65536").End(xlUp).Row'on recherche là la dernier ligne de la colonne A
End With
For L = Lgn To 2 Step -1
If Cells(L, 1).Offset(0, 1).Value = "" Then 'Ici on test si la cellule de la colonne B est vide
Cells(L, 1).EntireRow.Delete'ici on supprime la ligne|/i]
End If
Next
Application.ScreenUpdating = True
End Sub
A+++
Jean Marie
 
Y

Yves

Guest
C'est super !! Un gros merci :)

En passant, une fois que ce rapport est terminé je le passe dans Word pour faire une belle présentation, dans un avenir rapproché je ne veux plus passer par Word. Mais Excel ne fait pas de table de matière pour la page, et c'est frustrant.

EX :

Entrée

Salon

Cusine

Sous-sol

J'aimerais faire une table des matières avec les pages comme dans Word, mais attention le tout en dynamique, ca peut changer en tous temps.

S'il n'y a pas de solution, peut-on au moins donner un style de type TCO1 et TCO2 à excel et quant je le trasfert à Word par Copy-Pass, il va le reconnaitre et me créer la table des matières ???

Merci.
 

Statistiques des forums

Discussions
312 864
Messages
2 093 014
Membres
105 607
dernier inscrit
Grospsdresbois