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

Masquer ligne sur plusieurs colonne

6 réponses
Avatar
Tibert
Bonjour =E0 vous
J'ai un tableau de 54 colonnes de chiffres, j'utilise cette macro pour
masquer les lignes vides en prenant la colonne (F) comme crit=E8re, mais
voil=E0 en (F) il y a des lignes qui ne contient pas de chiffres, par
compte dans d'autres colonnes se trouve des chiffres et ce trouve
masquer.

comment pourrais je faire pour masquer les lignes en tenant compte de
la plage du tableau (F3:BG4000)

Sub MasquerLigneVide()
[F3:F4000].SpecialCells(xlCellTypeBlanks).EntireRow.Hidden =3D True
End Sub

Bonne journ=E9e =E0 vous

6 réponses

Avatar
michdenis
Bonjour,

Essaie comme ceci :
N'oublie pas d'adapter le nom de la feuille dans la procédure !

Sub MasquerLigneVide()
Dim Rg As Range, R As Range

With Worksheets("Feuil1")
Set Rg = .Range("F3:BG4000")
End With

Application.ScreenUpdating = False
For Each R In Rg.Rows
If Application.CountA(R) = 0 Then
R.EntireRow.Hidden = True
End If
Next
Application.ScreenUpdating = True
End Sub



--
MichD
--------------------------------------------


"Tibert" a écrit dans le message de groupe de discussion :

Bonjour à vous
J'ai un tableau de 54 colonnes de chiffres, j'utilise cette macro pour
masquer les lignes vides en prenant la colonne (F) comme critère, mais
voilà en (F) il y a des lignes qui ne contient pas de chiffres, par
compte dans d'autres colonnes se trouve des chiffres et ce trouve
masquer.

comment pourrais je faire pour masquer les lignes en tenant compte de
la plage du tableau (F3:BG4000)

Sub MasquerLigneVide()
[F3:F4000].SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End Sub

Bonne journée à vous
Avatar
Tibert
Bonjour "michdenis"
merci pour ta réponse, mais j'ai bien adapter le nom de feuille mais
sa ne fonctionne pas
a savoir que sur se tableau j'utilise (Données Sous-totaux
et que toutes les quatres colonnes j'ai deux colonne ou ce trouve ce
genre de formule (=SI(ESTERREUR((F3&H3)*1);"";H3-F3)
c'est peut être la cause que les lignes ne se masque pas !


On 29 juil, 16:28, "michdenis" wrote:
Bonjour,

Essaie comme ceci :
N'oublie pas d'adapter le nom de la feuille dans la procédure !

Sub MasquerLigneVide()
Dim Rg As Range, R As Range

With Worksheets("Feuil1")
    Set Rg = .Range("F3:BG4000")
End With

Application.ScreenUpdating = False
For Each R In Rg.Rows
    If Application.CountA(R) = 0 Then
        R.EntireRow.Hidden = True
    End If
Next
Application.ScreenUpdating = True
End Sub

--
MichD
--------------------------------------------

"Tibert" a écrit dans le message de groupe de discu ssion :

Bonjour à vous
J'ai un tableau de 54 colonnes de chiffres, j'utilise cette macro pour
masquer les lignes vides en prenant la colonne (F) comme critère, mais
voilà en (F) il y a des lignes qui ne contient pas de chiffres, par
compte dans d'autres colonnes se trouve des chiffres et ce trouve
masquer.

comment pourrais je faire pour masquer les lignes en tenant compte de
la plage du tableau (F3:BG4000)

Sub MasquerLigneVide()
[F3:F4000].SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End Sub

Bonne journée à vous
Avatar
michdenis
Je ne peux pas deviner ce que tu n'exprimes pas...

Modifie la procédure comme ceci :

Sub MasquerLigneVide()
Dim Rg As Range, R As Range, T as range

With Worksheets("Feuil1")
Set Rg = .Range("F3:BG4000")
End With

Application.ScreenUpdating = False
For Each R In Rg.Rows
On Error Resume Next
Set t = R.SpecialCells(xlCellTypeConstants)
If Err <> 0 Then
Err = 0
R.EntireRow.Hidden = True
End If
Next
Application.ScreenUpdating = True
End Sub



--
MichD
--------------------------------------------


"Tibert" a écrit dans le message de groupe de discussion :

Bonjour "michdenis"
merci pour ta réponse, mais j'ai bien adapter le nom de feuille mais
sa ne fonctionne pas
a savoir que sur se tableau j'utilise (Données Sous-totaux
et que toutes les quatres colonnes j'ai deux colonne ou ce trouve ce
genre de formule (=SI(ESTERREUR((F3&H3)*1);"";H3-F3)
c'est peut être la cause que les lignes ne se masque pas !


On 29 juil, 16:28, "michdenis" wrote:
Bonjour,

Essaie comme ceci :
N'oublie pas d'adapter le nom de la feuille dans la procédure !

Sub MasquerLigneVide()
Dim Rg As Range, R As Range

With Worksheets("Feuil1")
Set Rg = .Range("F3:BG4000")
End With

Application.ScreenUpdating = False
For Each R In Rg.Rows
If Application.CountA(R) = 0 Then
R.EntireRow.Hidden = True
End If
Next
Application.ScreenUpdating = True
End Sub

--
MichD
--------------------------------------------

"Tibert" a écrit dans le message de groupe de discussion :

Bonjour à vous
J'ai un tableau de 54 colonnes de chiffres, j'utilise cette macro pour
masquer les lignes vides en prenant la colonne (F) comme critère, mais
voilà en (F) il y a des lignes qui ne contient pas de chiffres, par
compte dans d'autres colonnes se trouve des chiffres et ce trouve
masquer.

comment pourrais je faire pour masquer les lignes en tenant compte de
la plage du tableau (F3:BG4000)

Sub MasquerLigneVide()
[F3:F4000].SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End Sub

Bonne journée à vous
Avatar
Sam
Bonjour,
en effet le cellules contenant une formule ne sont pas vides.

Essayes de faire le total du contenu de tes cellules en remplaçant ,dans la
macro de MichDenis, countA(R) par count(R)

Cordialement
Michel dit "Sam"

"Tibert" a écrit dans le message de news:

Bonjour "michdenis"
merci pour ta réponse, mais j'ai bien adapter le nom de feuille mais
sa ne fonctionne pas
a savoir que sur se tableau j'utilise (Données Sous-totaux
et que toutes les quatres colonnes j'ai deux colonne ou ce trouve ce
genre de formule (=SI(ESTERREUR((F3&H3)*1);"";H3-F3)
c'est peut être la cause que les lignes ne se masque pas !


On 29 juil, 16:28, "michdenis" wrote:
Bonjour,

Essaie comme ceci :
N'oublie pas d'adapter le nom de la feuille dans la procédure !

Sub MasquerLigneVide()
Dim Rg As Range, R As Range

With Worksheets("Feuil1")
Set Rg = .Range("F3:BG4000")
End With

Application.ScreenUpdating = False
For Each R In Rg.Rows
If Application.CountA(R) = 0 Then
R.EntireRow.Hidden = True
End If
Next
Application.ScreenUpdating = True
End Sub

--
MichD
--------------------------------------------

"Tibert" a écrit dans le message de groupe de
discussion :

Bonjour à vous
J'ai un tableau de 54 colonnes de chiffres, j'utilise cette macro pour
masquer les lignes vides en prenant la colonne (F) comme critère, mais
voilà en (F) il y a des lignes qui ne contient pas de chiffres, par
compte dans d'autres colonnes se trouve des chiffres et ce trouve
masquer.

comment pourrais je faire pour masquer les lignes en tenant compte de
la plage du tableau (F3:BG4000)

Sub MasquerLigneVide()
[F3:F4000].SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End Sub

Bonne journée à vous
Avatar
Tibert
Bonsoir "Sam"
merci pour ton aide
Je vais plutôt adopter cette solution, la deuxième macro de
"Michdenis" fonctionne, mais me permet pas de garder les lignes sous
totaux, quand utilisant la première avec la modif ci-dessous me permet
de garder les lignes sous totaux
bonne soirée et merci

On 29 juil, 18:37, "Sam" wrote:
Bonjour,
en effet le cellules contenant une formule ne sont pas vides.

Essayes de faire le total du contenu de tes cellules en remplaçant ,dan s la
macro de MichDenis, countA(R) par count(R)

Cordialement
Michel dit "Sam"

"Tibert" a écrit dans le message de news:

Bonjour "michdenis"
merci pour ta réponse, mais j'ai bien adapter le nom de feuille mais
sa ne fonctionne pas
a savoir que sur se tableau j'utilise (Données Sous-totaux
et que toutes les quatres colonnes j'ai deux colonne ou ce trouve ce
genre de formule (=SI(ESTERREUR((F3&H3)*1);"";H3-F3)
c'est peut être la cause que les lignes ne se masque pas !

On 29 juil, 16:28, "michdenis" wrote:



> Bonjour,

> Essaie comme ceci :
> N'oublie pas d'adapter le nom de la feuille dans la procédure !

> Sub MasquerLigneVide()
> Dim Rg As Range, R As Range

> With Worksheets("Feuil1")
> Set Rg = .Range("F3:BG4000")
> End With

> Application.ScreenUpdating = False
> For Each R In Rg.Rows
> If Application.CountA(R) = 0 Then
> R.EntireRow.Hidden = True
> End If
> Next
> Application.ScreenUpdating = True
> End Sub

> --
> MichD
> --------------------------------------------

> "Tibert" a écrit dans le message de groupe de
> discussion :
>
> Bonjour à vous
> J'ai un tableau de 54 colonnes de chiffres, j'utilise cette macro pour
> masquer les lignes vides en prenant la colonne (F) comme critère, mai s
> voilà en (F) il y a des lignes qui ne contient pas de chiffres, par
> compte dans d'autres colonnes se trouve des chiffres et ce trouve
> masquer.

> comment pourrais je faire pour masquer les lignes en tenant compte de
> la plage du tableau (F3:BG4000)

> Sub MasquerLigneVide()
> [F3:F4000].SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
> End Sub

> Bonne journée à vous- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -
Avatar
michdenis
Effectivement, il manque un petit quelque chose à la procédure soumise...
;-)

Plutôt comme ceci :
'-------------------------------------
Sub MasquerLigneVide()
Dim Rg As Range, R As Range, T As Range

With Worksheets("Feuil1")
Set Rg = .Range("F3:BG4000")
End With

Application.ScreenUpdating = False
For Each R In Rg.Rows
On Error Resume Next
Set T = R.SpecialCells(xlCellTypeConstants)
If Err <> 0 And Application.CountA(R) = 0 Then
Err = 0
R.EntireRow.Hidden = True
End If
Next
Application.ScreenUpdating = True
End Sub
'-------------------------------------



--
MichD
--------------------------------------------


"michdenis" a écrit dans le message de groupe de discussion : i2s7q2$dvv$
Je ne peux pas deviner ce que tu n'exprimes pas...

Modifie la procédure comme ceci :

Sub MasquerLigneVide()
Dim Rg As Range, R As Range, T as range

With Worksheets("Feuil1")
Set Rg = .Range("F3:BG4000")
End With

Application.ScreenUpdating = False
For Each R In Rg.Rows
On Error Resume Next
Set t = R.SpecialCells(xlCellTypeConstants)
If Err <> 0 Then
Err = 0
R.EntireRow.Hidden = True
End If
Next
Application.ScreenUpdating = True
End Sub



--
MichD
--------------------------------------------


"Tibert" a écrit dans le message de groupe de discussion :

Bonjour "michdenis"
merci pour ta réponse, mais j'ai bien adapter le nom de feuille mais
sa ne fonctionne pas
a savoir que sur se tableau j'utilise (Données Sous-totaux
et que toutes les quatres colonnes j'ai deux colonne ou ce trouve ce
genre de formule (=SI(ESTERREUR((F3&H3)*1);"";H3-F3)
c'est peut être la cause que les lignes ne se masque pas !


On 29 juil, 16:28, "michdenis" wrote:
Bonjour,

Essaie comme ceci :
N'oublie pas d'adapter le nom de la feuille dans la procédure !

Sub MasquerLigneVide()
Dim Rg As Range, R As Range

With Worksheets("Feuil1")
Set Rg = .Range("F3:BG4000")
End With

Application.ScreenUpdating = False
For Each R In Rg.Rows
If Application.CountA(R) = 0 Then
R.EntireRow.Hidden = True
End If
Next
Application.ScreenUpdating = True
End Sub

--
MichD
--------------------------------------------

"Tibert" a écrit dans le message de groupe de discussion :

Bonjour à vous
J'ai un tableau de 54 colonnes de chiffres, j'utilise cette macro pour
masquer les lignes vides en prenant la colonne (F) comme critère, mais
voilà en (F) il y a des lignes qui ne contient pas de chiffres, par
compte dans d'autres colonnes se trouve des chiffres et ce trouve
masquer.

comment pourrais je faire pour masquer les lignes en tenant compte de
la plage du tableau (F3:BG4000)

Sub MasquerLigneVide()
[F3:F4000].SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End Sub

Bonne journée à vous