Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro pour supprimer des lignes vides

5 réponses
Avatar
Erico
Bonjour,

J'aimerais avoir une macro qui me poserait comme question "Sélectionner la
plage" pour supprimer des lignes vides seulement.

Merci

Érico de Montréal

5 réponses

Avatar
LSteph
Bonjour,

C'est une question!

...pas besoin de macro.
Ne t'en pose pas, prends tout et trie!


Cordialement.

--
lSteph

Bonjour,

J'aimerais avoir une macro qui me poserait comme question "Sélectionner la
plage" pour supprimer des lignes vides seulement.

Merci

Érico de Montréal


Avatar
Tatanka
Salut compatriote,

Essaie ceci :

Sub Enlever_Lignes_Vides()
Set p = Application.InputBox(Prompt:="Sélectionnez une plage", _
Title:=" Supprimer lignes vides", Type:=8)
With p
For i = .Rows.Count To 1 Step -1
If Application.Count(.Rows(i)) = 0 Then .Rows(i).Delete
Next i
End With
End Sub

Serge de Québec ( Limoilou les gros loups )



"Erico" a écrit dans le message de news:
Bonjour,

J'aimerais avoir une macro qui me poserait comme question "Sélectionner la
plage" pour supprimer des lignes vides seulement.

Merci

Érico de Montréal


Avatar
Tatanka
Préférable de remplacer :
If Application.Count(.Rows(i)) = 0 Then .Rows(i).Delete
par :
If Application.CountA(.Rows(i)) = 0 Then .Rows(i).Delete

Serge


"Tatanka" a écrit dans le message de news: exS$
Salut compatriote,

Essaie ceci :

Sub Enlever_Lignes_Vides()
Set p = Application.InputBox(Prompt:="Sélectionnez une plage", _
Title:=" Supprimer lignes vides", Type:=8)
With p
For i = .Rows.Count To 1 Step -1
If Application.Count(.Rows(i)) = 0 Then .Rows(i).Delete
Next i
End With
End Sub

Serge de Québec ( Limoilou les gros loups )



"Erico" a écrit dans le message de news:
Bonjour,

J'aimerais avoir une macro qui me poserait comme question "Sélectionner la
plage" pour supprimer des lignes vides seulement.

Merci

Érico de Montréal






Avatar
lSteph
Bonjour Erico,
Mon premier message , ainsi que celui de Serge sans doute, qui lance
une proposition transversale pour laquelle j'attendait d'éventuelles
précisions,
donc attendent (amha) un retour de ta part...pour savoir ce que tu
veux effectivement.

Des lignes ne disparaissent pas vraiment elle reviennent ailleurs,
qd on les supprime la feuille compte toujours 65536 lignes.
C'est pourquoi le principe d'une sélection exigerait de savoir si l'on
veut supprimer la ligne entière ou seulement dans la sélection, car en
l'état cela ne va pas lorsqu'on est dans un tableau.
Exemple: http://cjoint.com/?lEkYmHtcva

Si dans la plage certaines cellules sont vides la suppression fera
remonter celles d'en dessous et à partir de la plage sélectionnée tout
l'ensemble du tableau se trouvera décalé.

C'est pour quoi je re propose,
soit simplement sélectionner une plage entière , le tableau entier
pour trier,
car le tri permet par suite d'évacuer les lignes entièrement vides en
fin de tableau.

soit une macro qui remonte .entirerow, selon l'exemple de Tatanka :

Sub Enlever_Lignes_Vides_entier()
Dim p As Range, i As Long
Set p = Application.InputBox(Prompt:="Sélectionnez une plage", _
Title:=" Supprimer lignes vides", Type:=8)
With p
For i = .Rows.Count To 1 Step -1
If Application.CountA(.Rows(i)) = 0 Then _
.Rows(i).EntireRow.Delete 'ICI
Next i
End With
End Sub



Cordialement.

--
lSteph


On 29 nov, 20:31, Erico wrote:
Bonjour,

J'aimerais avoir une macro qui me poserait comme question "Sélectionner la
plage" pour supprimer des lignes vides seulement.

Merci

Érico de Montréal


Avatar
Erico
j'ai fais le tri et ça fonctionné, par chance que mes autres lignes ont
suivi ma fréquence voulu.

J'aimerais mieux avoir la macro et je vais l'essayer a mon bureau lundi
prochain.

merci la gang.

Erico



"lSteph" a écrit dans le message de
news:
Bonjour Erico,
Mon premier message , ainsi que celui de Serge sans doute, qui lance
une proposition transversale pour laquelle j'attendait d'éventuelles
précisions,
donc attendent (amha) un retour de ta part...pour savoir ce que tu
veux effectivement.

Des lignes ne disparaissent pas vraiment elle reviennent ailleurs,
qd on les supprime la feuille compte toujours 65536 lignes.
C'est pourquoi le principe d'une sélection exigerait de savoir si l'on
veut supprimer la ligne entière ou seulement dans la sélection, car en
l'état cela ne va pas lorsqu'on est dans un tableau.
Exemple: http://cjoint.com/?lEkYmHtcva

Si dans la plage certaines cellules sont vides la suppression fera
remonter celles d'en dessous et à partir de la plage sélectionnée tout
l'ensemble du tableau se trouvera décalé.

C'est pour quoi je re propose,
soit simplement sélectionner une plage entière , le tableau entier
pour trier,
car le tri permet par suite d'évacuer les lignes entièrement vides en
fin de tableau.

soit une macro qui remonte .entirerow, selon l'exemple de Tatanka :

Sub Enlever_Lignes_Vides_entier()
Dim p As Range, i As Long
Set p = Application.InputBox(Prompt:="Sélectionnez une plage", _
Title:=" Supprimer lignes vides", Type:=8)
With p
For i = .Rows.Count To 1 Step -1
If Application.CountA(.Rows(i)) = 0 Then _
.Rows(i).EntireRow.Delete 'ICI
Next i
End With
End Sub



Cordialement.

--
lSteph


On 29 nov, 20:31, Erico wrote:
Bonjour,

J'aimerais avoir une macro qui me poserait comme question "Sélectionner la
plage" pour supprimer des lignes vides seulement.

Merci

Érico de Montréal