Hauteur de lignes à 0 si ligne vide

Résolu/Fermé
bbtronic Messages postés 10 Date d'inscription jeudi 25 juin 2015 Statut Membre Dernière intervention 17 septembre 2015 - 16 sept. 2015 à 12:43
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 - 17 sept. 2015 à 16:28
Bonjour à tous,
Je cherche une macro pour mettre les lignes d'une feuille Excel à 0 si il n'y a aucune donnée sur les lignes.
J'affecterai cette macro à un bouton.
Merci d'avance pour votre aide.

1 réponse

Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
16 sept. 2015 à 14:09
Bonjour,

Par "mettre les lignes à 0", vous entendez supprimer la ligne? Masquer la ligne? Remplir une cellule de la ligne avec le chiffre 0?

Cordialement.
0
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
Modifié par Kuartz le 16/09/2015 à 14:25
Comme votre sujet est "hauteur de ligne à 0", j'en déduis que vous souhaitez masquer cette ligne. Dans ce cas, utiliser le code suivant :

Sub LIGNE()

Dim DL As Long

DL = Cells(Application.Rows.Count, 1).End(xlUp).Row 'A supposer que la colonne de référence (la plus remplie jusqu'en bas) soit la colonne A

For i = DL To 1 Step -1 'Si la vérif commence en ligne 1

If Application.CountA(Rows(i)) = Empty Then Rows(i).EntireRow.Hide 'Remplacer Hide par Delete si vous souhaitez supprimer la ligne

Next i

End Sub


Cordialement.
0
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
16 sept. 2015 à 15:33
Essayez ce code plutôt, je me suis planté sur l'autre, fatigue probablement...

Sub LIGNE()

Dim DL As Long

DL = Cells(Application.Rows.Count, 1).End(xlUp).Row 'A supposer que la colonne de référence (la plus remplie jusqu'en bas) soit la colonne A

For i = DL To 1 Step -1 'Si la vérif commence en ligne 1

If Application.CountA(Rows(i)) = Empty Then Rows(i).Hidden = True

Next i

End Sub


Cordialement.
0
bbtronic Messages postés 10 Date d'inscription jeudi 25 juin 2015 Statut Membre Dernière intervention 17 septembre 2015 > Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019
16 sept. 2015 à 17:00
Bonjour Kuartz,
Je n'ai pas réussi avec cette macro.
En fait le tableau dans ma feuille Excel comporte des colonnes de A à Q susceptibles de recevoir une info que je saisie.
En effet, je souhaite, par la macro, mettre LA HAUTEUR DE LIGNE à 0 des lignes qui n'ont aucune information de saisie de A à Q
Merci encore.
0
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 26
Modifié par PlacageGranby le 16/09/2015 à 17:47
Bonjour bbtronic, Kuartz

Dans le code de kuartz, il y a une boucle,
On boucle du début de la feuille jusqu'a a dernière ligne ayant des données....
Pour trouver justement quelle est cette dernière ligne, il a pris la colonne A en référence.

Si par exemple, il n'y aurait absoluement rien dans la colonne A, alors excel parcours cette colonne, et ne trouve rien, et la variable DL egale 1 et excel va seulement vérifier si la première ligne doit être masqué ou non.

Si il n'y a pas moyen de savoir quelle colonne va contenir plus d'information, alors il faudrait travailler sur une zone fixe.
Combien de ligne va avoir ton ficher ? 100 1000 10000

Et on adapte. on remplace DL par 10 000

For i = 10000 To 1 Step -1 'Si la vérif commence en ligne 1

If Application.CountA(Rows(i)) = Empty Then Rows(i).Hidden = True

Next i


L'utilité de la variable DL, est de ne pas boucler pour rien et sauver du temps, on trouve exactement jusqu'a quelle ligne on doit vérifié, mais pour le savoir, il faut connaitre quelle colonne est la référence.

Aussi, la variable i n'était pas défini, donc DIM i as long
0
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
17 sept. 2015 à 09:14
Effectivement, lorsque je fais une boucle comme ça (aussi simple j'entend par là), je définis rarement ma variable i.

N'ayant pas le fichier sous les yeux, j'ai pris comme référence la colonne A, si celle-ci est vide, cela ne marche pas. Mais c'est précisé dans mon code.
0