OVH Cloud OVH Cloud

Macro pour supprimer des lignes

11 réponses
Avatar
Christine
Bonjour,

Je cherche à faire une macro qui supprimerait toutes les lignes vides d'une
feuille.
Pouvez-vous m'aider ?

Merci

10 réponses

1 2
Avatar
Excel...lent
Bonjour Christine,

Va voir là : http://www.excelabo.net/xl/lign-col.php#suppvides

Cordialement.

Excel...lent
Avatar
Christine
Merci pour l'info. le site va beaucoup m'aider.
Par contre, pour la macro, ça ne fonctionne pas...
Etant donné que je débute, je dois rater quelque chose... mais quoi ???
mystère !



Bonjour Christine,

Va voir là : http://www.excelabo.net/xl/lign-col.php#suppvides

Cordialement.

Excel...lent







Avatar
Jacquouille
Bonsoir Christine
Les vieux sages du forum m'ont appris ceci pour la variable (derL) qui va
prendre comme valeur le n° de ligne de la dernière cel non vide de la col A.
Cette commande donne l'ordre à Excel d'aller en dernière ligne (65536 )et de
remonter jusqu'à ce qu'il trouve une cel non vide dans la colonne A.
derL = sheets(feuil1").[A65536].end(xlup).row
Ensuite, la macro diemande un balayage commençant à la ligne derL jusqu'à la
ligne 1, avec un pas négatif ....
bonne chance
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.

"Christine" a écrit dans le message de
news:
Merci pour l'info. le site va beaucoup m'aider.
Par contre, pour la macro, ça ne fonctionne pas...
Etant donné que je débute, je dois rater quelque chose... mais quoi ???
mystère !



Bonjour Christine,

Va voir là : http://www.excelabo.net/xl/lign-col.php#suppvides

Cordialement.

Excel...lent









Avatar
michdenis
Bonjour Christine

Copie ce qui suit dans un module standard :

Devrait supprimer toutes les lignes vides de la FEUILLE ACTIVE.


'----------------------
Sub SuppLigneVides()
Dim DL As Long, R As Long
DL = DerLig(ActiveSheet)
Application.ScreenUpdating = False
For R = DL To 1 Step -1
If Application.CountA(Rows(R)) = 0 Then Rows(R).Delete
Next R
End Sub

'----------------------
Function DerLig(sh As Worksheet)
On Error Resume Next
DerLig = sh.Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
On Error GoTo 0
End Function
'----------------------





"Christine" a écrit dans le message de news:

Merci pour l'info. le site va beaucoup m'aider.
Par contre, pour la macro, ça ne fonctionne pas...
Etant donné que je débute, je dois rater quelque chose... mais quoi ???
mystère !



Bonjour Christine,

Va voir là : http://www.excelabo.net/xl/lign-col.php#suppvides

Cordialement.

Excel...lent







Avatar
Christine
Salut,

Merci pour ton aide.
Mais il m'affiche "erreur de compilation Attendu : numéro de ligne ou
étiquette ou instruction ou fin d'instruction."

l'erreur venant peut-être de moi voici comment je procède :
Données/macros/visual basic
Insérer module
Je copie les formules
Je ferme visual basic
j'attribue ma nouvelle macro à un bouton sur la feuille concernée/je lexécute
Et là, soit ça mouline sans résultat (avec copie excelabo) soit affiche
l'erreur ci-dessus.

Je m'y prends mal ?


Bonjour Christine

Copie ce qui suit dans un module standard :

Devrait supprimer toutes les lignes vides de la FEUILLE ACTIVE.


'----------------------
Sub SuppLigneVides()
Dim DL As Long, R As Long
DL = DerLig(ActiveSheet)
Application.ScreenUpdating = False
For R = DL To 1 Step -1
If Application.CountA(Rows(R)) = 0 Then Rows(R).Delete
Next R
End Sub

'----------------------
Function DerLig(sh As Worksheet)
On Error Resume Next
DerLig = sh.Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
On Error GoTo 0
End Function
'----------------------





"Christine" a écrit dans le message de news:

Merci pour l'info. le site va beaucoup m'aider.
Par contre, pour la macro, ça ne fonctionne pas...
Etant donné que je débute, je dois rater quelque chose... mais quoi ???
mystère !



Bonjour Christine,

Va voir là : http://www.excelabo.net/xl/lign-col.php#suppvides

Cordialement.

Excel...lent












Avatar
Christine
Salut,

Merci pour l'info et également pour les sites !!!



Bonsoir Christine
Les vieux sages du forum m'ont appris ceci pour la variable (derL) qui va
prendre comme valeur le n° de ligne de la dernière cel non vide de la col A.
Cette commande donne l'ordre à Excel d'aller en dernière ligne (65536 )et de
remonter jusqu'à ce qu'il trouve une cel non vide dans la colonne A.
derL = sheets(feuil1").[A65536].end(xlup).row
Ensuite, la macro diemande un balayage commençant à la ligne derL jusqu'à la
ligne 1, avec un pas négatif ....
bonne chance
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.

"Christine" a écrit dans le message de
news:
Merci pour l'info. le site va beaucoup m'aider.
Par contre, pour la macro, ça ne fonctionne pas...
Etant donné que je débute, je dois rater quelque chose... mais quoi ???
mystère !



Bonjour Christine,

Va voir là : http://www.excelabo.net/xl/lign-col.php#suppvides

Cordialement.

Excel...lent














Avatar
michdenis
Bonjour Christine,

Tu dois copier et la procédure et la fonction dans ton module.

C'est seulement cette procédure qui doit etre appelé :"Sub SuppLigneVides()"

P.S. Ta feuille ne doit pas être protégée!

La macro s'appliquera seulement à la feuille active, celle que le classeur affiche.


Salutations!






"Christine" a écrit dans le message de news:

Salut,

Merci pour ton aide.
Mais il m'affiche "erreur de compilation Attendu : numéro de ligne ou
étiquette ou instruction ou fin d'instruction."

l'erreur venant peut-être de moi voici comment je procède :
Données/macros/visual basic
Insérer module
Je copie les formules
Je ferme visual basic
j'attribue ma nouvelle macro à un bouton sur la feuille concernée/je lexécute
Et là, soit ça mouline sans résultat (avec copie excelabo) soit affiche
l'erreur ci-dessus.

Je m'y prends mal ?


Bonjour Christine

Copie ce qui suit dans un module standard :

Devrait supprimer toutes les lignes vides de la FEUILLE ACTIVE.


'----------------------
Sub SuppLigneVides()
Dim DL As Long, R As Long
DL = DerLig(ActiveSheet)
Application.ScreenUpdating = False
For R = DL To 1 Step -1
If Application.CountA(Rows(R)) = 0 Then Rows(R).Delete
Next R
End Sub

'----------------------
Function DerLig(sh As Worksheet)
On Error Resume Next
DerLig = sh.Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
On Error GoTo 0
End Function
'----------------------





"Christine" a écrit dans le message de news:

Merci pour l'info. le site va beaucoup m'aider.
Par contre, pour la macro, ça ne fonctionne pas...
Etant donné que je débute, je dois rater quelque chose... mais quoi ???
mystère !



Bonjour Christine,

Va voir là : http://www.excelabo.net/xl/lign-col.php#suppvides

Cordialement.

Excel...lent












Avatar
Excel...lent
Bonsoir Christine,

Je n'ai aucun mérite ce n'est pas moi qui est écrit ce code.

C'est plutôt Frédéric Sigonneau qu'il faudrait remericier pour ces multiples
contributions
au site EXCELABO.

Au passage va voir son site là : http://frederic.sigonneau.free.fr/
également une mine dor !

Content d'avoir pu t'aider par personne interposée.

Cordialement.

Excel...lent
Avatar
Misange
Bonjour excellent
Frédéric non seulement contribue beaucoup à excelabo mais en plus il a
aussi son propre site web sur lequel se trouvent une foultitude de
choses intéressantes...
http://frederic.sigonneau.free.fr/
:-)

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

Le 06/11/2005 21:54, :
Bonsoir Christine,

Je n'ai aucun mérite ce n'est pas moi qui est écrit ce code.

C'est plutôt Frédéric Sigonneau qu'il faudrait remericier pour ces multiples
contributions
au site EXCELABO.

Au passage va voir son site là : http://frederic.sigonneau.free.fr/
également une mine dor !

Content d'avoir pu t'aider par personne interposée.

Cordialement.

Excel...lent




Avatar
Jacquouille
Bonjour Flo
T'as bin raison. Je m'en vas le mettre itou.
Merci pour ta réponse d'hier.
Jacques.
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
http://frederic.sigonneau.free.fr/

Jacquouille.

"Misange" a écrit dans le message de news:
%
Bonjour excellent
Frédéric non seulement contribue beaucoup à excelabo mais en plus il a
aussi son propre site web sur lequel se trouvent une foultitude de choses
intéressantes...
http://frederic.sigonneau.free.fr/
:-)

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

Le 06/11/2005 21:54, :
Bonsoir Christine,

Je n'ai aucun mérite ce n'est pas moi qui est écrit ce code.

C'est plutôt Frédéric Sigonneau qu'il faudrait remericier pour ces
multiples
contributions
au site EXCELABO.

Au passage va voir son site là : http://frederic.sigonneau.free.fr/
également une mine dor !

Content d'avoir pu t'aider par personne interposée.

Cordialement.

Excel...lent





1 2