masquer / démasquer lignes contenant des formules

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

libellule85

XLDnaute Accro
Bonsoir le forum,
J'ai une macro (ci-dessous) qui masque/démasque les lignes vides. Par contre, quand il y a dans une ou plusieurs cellules d'une ligne une formule celà affiche quand même la ligne (alors que le tableau est vide !!!).
N'y aurait-il pas un moyen de masquer/démasquer également les lignes qui contiennent une formule ?

Code:
Sub ImprimeAuto()
Dim i As Byte
 Application.ScreenUpdating = False
 For i = 19 To 40
     If Application.CountA(Rows(i)) = 0 Then Rows(i).Hidden = True
 Next i
 Application.ScreenUpdating = True
 ActiveSheet.PrintPreview
 Application.ScreenUpdating = False
 For i = 19 To 40
     If Application.CountA(Rows(i)) = 0 Then Rows(i).Hidden = False
 Next i
 Application.ScreenUpdating = True

End Sub

D'avance merci pour vos réponses
 

Pièces jointes

Re : masquer / démasquer lignes contenant des formules

Bonjour,

essaye ceci, si j'ai bien compris :
Code:
Dim i As Long, c As Range
For i = 19 To 40
    Set c = Rows(i).Find("*", , xlValues, , 2, 2, 0)
    If c Is Nothing Then Rows(i).Hidden = True
Next i
bonne soirée
@+
 
[Résolu] masquer / démasquer lignes contenant des formules

Bonsoir Pierrot93,
Tout d'abord je te remercie pour la rapidité de ta réponse. Ensuite c'est exactement ce que je recherchais.
Néanmoins comment étendre à tout le tableau ce qui marche pour la colonne C, car en fait c'est chaque lignes et chaque colonne du tableau qui peuvent être concernés ?
Pour l'exemple j'avais mis la formule en C12, mais il y aurait pu en avoir en E16 et la ligne suivante être remplie.
 
Dernière édition:
Re : masquer / démasquer lignes contenant des formules

Re,

euh comprends pas trop, avec le code ci-dessous, seules les lignes 11 et 13 restent visibles sur le fichier que tu as mis... c12 est bien masquée, à noter ce code balaie les lignes....
Code:
Dim i As Long, c As Range
 For i = 7 To 18
     Set c = Rows(i).Find("*", , xlValues, , 2, 2, 0)
     If c Is Nothing Then Rows(i).Hidden = True
 Next i

bonne soirée
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
707
Réponses
10
Affichages
533
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour