Suppressions de lignes

Fermé
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022 - 16 sept. 2014 à 09:28
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022 - 17 sept. 2014 à 10:02
Bonjour,

Je cherche un code pour supprimer toutes les lignes vides en dessous d'un tableau sur la colonne B qui aura toujours des données pour les lignes utilisées.

Je n'arrive pas à trouver ce code, pourriez vous m'aider.

Merci.



7 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 16/09/2014 à 09:40
Bonjour

Sub virerligvide()
Dim Derlig As Long

Derlig = Columns("B").Find("*", , , , , xlPrevious).Row

If Application.CountIf(Range("B1:B" & Derlig), "") > 0 Then
Range("A1:A" & Derlig).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End If
End Sub


Michel
0
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022
16 sept. 2014 à 11:26
Bonjour Michel,

j'ai oublié de préciser que mon tableau commencer en A18, car au dessus j'ai mes entêtes et il y a des lignes vides.

Donc j'imagine que je dois mettre ("B18:B), mais je ne comprends pas le Range("A1:A" & derlig), c'est délimiter le tableau ?
0
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022
16 sept. 2014 à 12:07
Bon j'ai modifié, mais ca ne marche pas comme je le souhaite.

Cela ne supprime pas toutes les lignes et ma mise en page ne se fait pas.

Et est ce que vous connaissez le code qui permettrai de mettre la hauteur de ligne autofit avec une hauteur minimum à respecter ?

Je joins le fichier , je pense que c'est mieux, la boucle a été écrite par un informaticien et maintenant je remplie moi même les macros.

Merci pour voter aide.

https://www.cjoint.com/?3IqmiQof8y8
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
16 sept. 2014 à 17:34
Excuse moi, j'étais pressé et donc...

ci dessous la macro mais je n'ai pas vu de vide dans la colonne B par contre, il y en a en colonne B
Option Explicit
'------
Sub virerligvide()
Dim Derlig As Integer

Application.ScreenUpdating = False
Derlig = Columns("B").Find("*", , , , , xlPrevious).Row
If Application.CountIf(Range("B18:B" & Derlig), "") > 0 Then
Range("B18:B" & Derlig).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End If
End Sub

j'ai essayé en supprimant une donnée dans la col B et c'est Ok

si c'est en colonne A remplace les B18:B &... par A18:A &...

Attention: tu as des données venant d'un autre classeur:
le résultat d'une formule renvoyant "" n'est pas une cellule "xlCellTypeBlanks"

comme disait Raymond Devos Rien c'est pas vide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022
16 sept. 2014 à 18:04
Je ne sais pas si je m'explique bien, je veux supprimer les lignes en dessous de mon tableau en prenant comme référence la colonne B, qui aura toujours des données.
Si le cellule de la colonne B est vide on supprime.

Car dans la boucle, j'ai un code qui me rajoute une ligne en fin de tableau pour faire la somme de 2 colonnes.

Le problème est que je me retrouve souvent avec des lignes vides ou plusieurs créations de cette fameuse ligne qui doit faire la somme.

Donc j'ai pensé que si je supprimer toutes les lignes vides avant de faire la création de cette ligne en fin de tableau, je n'aurai plus de problème.

Je vais essayer ton code et je dis si cela fonctionne.
0
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022
16 sept. 2014 à 18:22
je crois avoir compris , je veux supprimer les lignes en remontant jusqu'à la dernier ligne utilisée en prenant comme référence les cellules de la colonne B.

et quand la boucle crée la dernière ligne pour la somme des 2 colonnes, je devrai avoir avoir ma dernière ligne avec la mise en page.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
17 sept. 2014 à 09:04
Bonjour

J'y comprends rien à ce que tu demandes au fur et à mesure de tes messages !

à savoir la demande au 1° message
Je cherche un code pour supprimer toutes les lignes vides en dessous d'un tableau sur la colonne B qui aura toujours des données pour les lignes utilisées.

N'ayant pas de boule de cristal...

Bonne continuation
0
pascalou83400 Messages postés 273 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 24 janvier 2022
17 sept. 2014 à 10:02
Bonjour Michel,

Oui c'est bien cela que je faire, mais j'ai toujours la ligne somme qui est créée en fin de code, elle ne se supprime pas, et quand je relance la macro, elle m'en recrée une 2eme.
je n'arrive pas à comprendre pourquoi cette ligne ne se supprime pas , alors que la cellule de la colonne B est vide.

Une question quand le code supprime , il parcoure la cellule ou toute la ligne ?

Merci pour ton aide.
0