Masquer lignes vides
Résolu/Fermé
peybernes
Messages postés
55
Date d'inscription
jeudi 12 janvier 2017
Statut
Membre
Dernière intervention
29 juillet 2020
-
19 sept. 2017 à 14:36
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 - 20 sept. 2017 à 16:46
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 - 20 sept. 2017 à 16:46
A voir également:
- Masquer lignes vides
- Masquer conversation whatsapp - Guide
- Comment masquer les amis sur facebook - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
- Application pour masquer les applications - Guide
- Comment masquer son numéro orange - Forum Mobile
2 réponses
fabien25000
Messages postés
673
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
28 juillet 2022
59
Modifié le 19 sept. 2017 à 14:58
Modifié le 19 sept. 2017 à 14:58
Bonjour,
Une idée pas testée mais qui devrait tourner :
Quand on ne dispose que d'un marteau tout les problèmes ressemblent à un clou
Une idée pas testée mais qui devrait tourner :
dim i as integer dim j as integer for i = 4 to 500 if worksheets("NOMDELAFEUILLE").range("A" & i) = "" then rows(i).hidden=true j = j + 1 end if if worksheets("NOMDELAFEUILLE").range("A1")= i - j then exit for next i
Quand on ne dispose que d'un marteau tout les problèmes ressemblent à un clou
Bonjour peybernes,
Je te propose ce code VBA :
Faire un effacement d'un seul coup d'un bloc de lignes vides
est possible seulement si tes lignes vides sont contigües,
ce qui n'est peut-être pas forcément le cas.
Cordialement
Je te propose ce code VBA :
Option Explicit Sub Essai() Dim dlig As Long, lig As Long Application.ScreenUpdating = False dlig = Range("A" & Rows.Count).End(xlUp).Row For lig = 5 To dlig If Cells(lig, 1) = "" Then Rows(lig).Hidden = True Next lig End Sub
Faire un effacement d'un seul coup d'un bloc de lignes vides
est possible seulement si tes lignes vides sont contigües,
ce qui n'est peut-être pas forcément le cas.
Cordialement
peybernes
Messages postés
55
Date d'inscription
jeudi 12 janvier 2017
Statut
Membre
Dernière intervention
29 juillet 2020
20 sept. 2017 à 14:57
20 sept. 2017 à 14:57
Bonjour Fred,
Merci pour ton aide ! Oui c'est vrai que je ne l'ai pas précisé mais dans mon cas, lorsqu'une ligne est vide, toutes celles d'après sont vides également.
Cordialement
Merci pour ton aide ! Oui c'est vrai que je ne l'ai pas précisé mais dans mon cas, lorsqu'une ligne est vide, toutes celles d'après sont vides également.
Cordialement
fabien25000
Messages postés
673
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
28 juillet 2022
59
>
peybernes
Messages postés
55
Date d'inscription
jeudi 12 janvier 2017
Statut
Membre
Dernière intervention
29 juillet 2020
20 sept. 2017 à 15:02
20 sept. 2017 à 15:02
lorsqu'une ligne est vide, toutes celles d'après sont vides également
!?!?
par curiosité il y a quoi ligne 501 et sur les suivantes?
!?!?
par curiosité il y a quoi ligne 501 et sur les suivantes?
peybernes
Messages postés
55
Date d'inscription
jeudi 12 janvier 2017
Statut
Membre
Dernière intervention
29 juillet 2020
20 sept. 2017 à 15:10
20 sept. 2017 à 15:10
Rien du tout elles sont vides, allez jusqu'à la ligne 500 est une sécurité que je prends.
Ma macro finale tourne une fois par semaine pour me sortir les données de la semaine en cours.
Très souvent, des lignes 200 à 500 toutes les lignes seront vides mais je préfère aller jusqu'à 500 "au cas où" des données sont présentes un jour.
Ma macro finale tourne une fois par semaine pour me sortir les données de la semaine en cours.
Très souvent, des lignes 200 à 500 toutes les lignes seront vides mais je préfère aller jusqu'à 500 "au cas où" des données sont présentes un jour.
fred
>
peybernes
Messages postés
55
Date d'inscription
jeudi 12 janvier 2017
Statut
Membre
Dernière intervention
29 juillet 2020
20 sept. 2017 à 15:15
20 sept. 2017 à 15:15
@peybernes
Dans ce cas, je te propose ce nouveau code VBA :
Option Explicit Sub Essai() Application.ScreenUpdating = False Dim dlig As Long, lig As Long: dlig = Rows.Count lig = Range("A" & dlig).End(xlUp).Row + 1 Rows(lig & ":" & dlig).Hidden = True End Sub
Cordialement
peybernes
Messages postés
55
Date d'inscription
jeudi 12 janvier 2017
Statut
Membre
Dernière intervention
29 juillet 2020
20 sept. 2017 à 15:20
20 sept. 2017 à 15:20
C'est parfait !!!
Merci beaucoup à tous les deux pour l'aide apportée :D
Merci beaucoup à tous les deux pour l'aide apportée :D
19 sept. 2017 à 15:04
Merci beaucoup pour votre aide, le résultat est bien celui attendu mais l'exécution de la macro est assez longue.. (presque 1 minute)
Avez vous une autre idée pour être plus rapide ?
Merci !
19 sept. 2017 à 15:10
19 sept. 2017 à 15:21
20 sept. 2017 à 10:13
En fait pour être plus rapide je souhaiterais que la macro sélectionne toutes les lignes vides en même temps et les masques toutes d'un coup au lieu de faire une par une.
Pour ça j'ai en C1 la formule "=NBVAL(A5:A500)+4" qui me permet de savoir cbn de lignes sont remplies et en D1 la valeur 500.
Dans ma macro j'ai :
prem_li = Cells(1, 3).Value
dern_li = Cells(1, 4).Value
Rows("prem_li:dern_li").Select
Selection.EntireRow.Hidden = True
Les 2 premières lignes lisent bien la valeur de la cellule en question mais la 3ème ligne ne fonctionne pas...
Avez-vous une idée pour cela ?
Merci beaucoup
Modifié le 20 sept. 2017 à 10:30
c'est pour ça que je compte J pour sortir de la boucle : en gros " D1 - J = C1"
mais quoi qu'il en soit il faut forcément tester la ligne pour savoir si elle est à effacer
Ou alors... il faut réfléchir à un code sur
qui détecte une entrée -> si ligne supérieure vide -> garde en mémoire puis peut être un bouton avec une macro "masquer les lignes"... à voir mais je risque de ne pas avoir le temps aujourd'hui