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

Masquer des lignes vides même si formules contenues dans lignes

13 réponses
Avatar
jpierrethillard
Bonjour,

J'ai nomm=E9 "tableau" une plage de cellules A1:K69.
J'ai dans ce tableau des lignes vides mais contenant des formules.
J'utilse cette macro qui ne fonctionne que si les lignes sont vides de
texte et de formules.
Sub CacheLigne()

For Each c In Range("Tableau")
If Application.CountA(Range("Tableau").Rows(c.Row)) =3D 0 Then _
Range("Tableau").Rows(c.Row).Hidden =3D True
Next

End Sub

Que faut-il ajouter pour que les lignes vides de texte mais contenant
des formules soient aussi cach=E9es?

Merci d'avance
JP

3 réponses

1 2
Avatar
FFO
Rebonjours à toi

Aprés analyse j'ai apporté 2 corrections :

la ligne :

For Each c In Range("A1", [A65535].End(xlUp))

ne peux être utilisée que si ta colonne A est remplie dans ton tableau ce
qui n'est pas le cas

est remplacée par :


For Each c In Range("A13", "A" & Range("A1").SpecialCells(xlLastCell).Row)

Les formules en place ne génère pas de "0" lorsqu'elle ne ramènent pas de
donnée
D'ou la ligne :

If c.Offset(0, i) <> 0 Then

ne convient pas

est remplacée par

If c.Offset(0, i) <> "" Then

Ce qui donne le code suivant :

For Each c In Range("A13", "A" & Range("A1").SpecialCells(xlLastCell).Row)
For i = 0 To Range("K1").Column
If c.Offset(0, i) <> "" Then
n = 1
End If
Next
If n <> 1 Then
c.EntireRow.Hidden = True
End If
n = 0
Next

Qui lui fonctionne dans ton fichier corrigé joint :

http://www.cijoint.fr/cij267838332621.xls


Donnes moi ton sentiment !!!!


Re Salut,

Oh diable les réunions et le temps perdu. Heureusement qu'il y Excel.

Voici le fichier Onglet Contrat : http://www.cijoint.fr/cij1100030218614.xls

Merci
JP



Avatar
jpierrethillard
FFO,

ben la y a pas de souci tout fonctionne comme qoi les PJ sont utiles
aussi. Je regarde d'un peu plus près dans la soirée pour terminer
cette feuille.
En tout cas t'es super!
Merci encore et surement à une autre fois.
Je rame souvent mais je m'accroche. Il me faudra beaucoup de temps
pour rivaliser avec certains sur ce forum et tu es dans le lot des
bons.

Merci encore JP

On 7 jan, 17:14, FFO wrote:
Rebonjours à toi

Aprés analyse j'ai apporté 2 corrections :

la ligne :

For Each c In Range("A1", [A65535].End(xlUp))

ne peux être utilisée que si ta colonne A est remplie dans ton tableau ce
qui n'est pas le cas

est remplacée par :

For Each c In Range("A13", "A" & Range("A1").SpecialCells(xlLastCell).Row)

Les formules en place ne génère pas de "0"  lorsqu'elle ne ramènen t pas de
donnée
D'ou la ligne :

If c.Offset(0, i) <> 0 Then

ne convient pas

est remplacée par

If c.Offset(0, i) <> "" Then

Ce qui donne le code suivant :

For Each c In Range("A13", "A" & Range("A1").SpecialCells(xlLastCell).Row)
For i = 0 To Range("K1").Column
If c.Offset(0, i) <> "" Then
n = 1
End If
Next
If n <> 1 Then
c.EntireRow.Hidden = True
End If
n = 0
Next

Qui lui fonctionne dans ton fichier corrigé joint :

 http://www.cijoint.fr/cij267838332621.xls

Donnes moi ton sentiment !!!!




Re Salut,

Oh diable les réunions et le temps perdu. Heureusement qu'il y Excel.

Voici le fichier Onglet Contrat :http://www.cijoint.fr/cij1100030218614. xls

Merci
JP- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
jpierrethillard
FFo,

SUPER, tout est ok. Merci encore JP

On 7 jan, 17:14, FFO wrote:
Rebonjours à toi

Aprés analyse j'ai apporté 2 corrections :

la ligne :

For Each c In Range("A1", [A65535].End(xlUp))

ne peux être utilisée que si ta colonne A est remplie dans ton tableau ce
qui n'est pas le cas

est remplacée par :

For Each c In Range("A13", "A" & Range("A1").SpecialCells(xlLastCell).Row)

Les formules en place ne génère pas de "0"  lorsqu'elle ne ramènen t pas de
donnée
D'ou la ligne :

If c.Offset(0, i) <> 0 Then

ne convient pas

est remplacée par

If c.Offset(0, i) <> "" Then

Ce qui donne le code suivant :

For Each c In Range("A13", "A" & Range("A1").SpecialCells(xlLastCell).Row)
For i = 0 To Range("K1").Column
If c.Offset(0, i) <> "" Then
n = 1
End If
Next
If n <> 1 Then
c.EntireRow.Hidden = True
End If
n = 0
Next

Qui lui fonctionne dans ton fichier corrigé joint :

 http://www.cijoint.fr/cij267838332621.xls

Donnes moi ton sentiment !!!!




Re Salut,

Oh diable les réunions et le temps perdu. Heureusement qu'il y Excel.

Voici le fichier Onglet Contrat :http://www.cijoint.fr/cij1100030218614. xls

Merci
JP- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



1 2