supression de lignes en VBA

S

sophie

Guest
Bonjour à tous

J ai fait une macro (copie d une partie d un tableau de reference sur un tableau existant ou je fais des calculs) mais comme ma macro depend d un filtre je ne copie pas tjs le meme nombre de ligne
Est ce qu il est possible de supprimer les lignes vides de mon nveau tableau afin d eviter les trous ds mon tableau cad entre la base et ce que je recopie avec la macro

Merci a vous
 
J

Jocelyn

Guest
Bonjour le Forum,
Bonjour Sophie,

Pour ton problème voila un morceau de code récupéré sur ce forum qui peux peut etre d'aider (merci a son créateur).

tu peux donc essayer avec :

Sub supr_ligne()
Dim cellule As Range
Range("ici la plage que tu veux analysé du type ("A1:A20") ").Select
For Each cellule In Selection
If cellule.Value = "" Then
cellule.Select
Selection.EntireRow.Delete
End If
Next

End Sub

Tu peux ensuite créer un bouton et faire

Private Sub CommandButton1_Click()
supr_ligne
End Sub

Voila je suis débutant mais j'espere que cela va t'aider.

bonne journée
A+
Jocelyn
 
R

Robert

Guest
Salut Sophie, sallut le forum,

Dans cet exemple, j'ai considéré que lorsque la première cellule d'une ligne était vide c'est que la ligne entière était vide. J'ai aussi considéré que le tableau commençait en A1. Adapte-le si nécessaire.

Public Sub suprlign()
Dim table As Range
Dim lign As Long
lign = Range("A65536").End(xlUp).Row
Set table = Range("A1:A" & lign)
For Each cel In table
If cel.Value = "" Then
cel.EntireRow.Delete
End If
Next cel
End Sub

À plus,

Robert
 
Y

Yeahou

Guest
Bonjour Sophie, Jocelyn, Robert

Pour info, l'utilisation d'une boucle for each pour une suppression peut poser des problèmes, voir ce fil ou la question est traitée en long, en large et en travers.

Cordialement, A+

<http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=100816&t=98318>
 
M

Michel_M

Guest
Bonjour à tous,

Si ta zone est sélectionnée (select)

Sub effacer_lig()

Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete

End Sub

Sinon, au lieu de "selection" tu écris range("machin")


macro réalisée à partir d'une manip Excel communiquée par l'excellentissime André
a savoir:

zone sélectionnée

edition -rechercher (ctrl+T)
cellules
cellules vides OK

puis:
edition supprimer
ligne entière OK


A+
Michel
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16