OVH Cloud OVH Cloud

Macro de masquage de lignes

17 réponses
Avatar
Érico
Bonjour,

Comment faire une macro qui masquerait des lignes qui ne contiennent pas de
valeur "", ou qu'ils contiennent la valeur "0" et de masquer. Les cellules à
vérifier sont:

M14 à M20
M23 à M26
M28 à M38
M40 à M45
M64 à M67
M91 à M95
N27
et N39.

Merci

Érico de Montréal

7 réponses

1 2
Avatar
michdenis
Bonjour Érico,

Une façon de faire :

Validation matricielle : Ctrl + Maj + Enter
=SOMME(SI(NON(ESTERREUR(M25:M28));M25:M28))


Salutations!


"Érico" a écrit dans le message de news:%
Comment je peux mettre la formule "esterr" dans la formule suivante?
=SOMME(M25:M28)
Ça va règler mon problème une fois pour toute.

Merci beaucoup
Érico


"isabelle" a écrit dans le message de
news:
..si tu as mis "Option Explicit" en haut du module, il faut déclarer
toutes les variables.


Dim c As Variant

isabelle



Je ne comprends pas, il fonctionnait à merveille hier et maintenant, il
ne


fonctionne pas,
Le débogueur me place vis à vis de:" If c = 0 Or c = Empty Then "

Merci de votre collaboration.

Érico

If c = 0 Or c = Empty Then
"michdenis" a écrit dans le message de
news:eYKIX%
Bonjour Érico,

Essaie ceci :

Adapte le nom de la feuille dans la procédure !

'------------------------------
Sub Masquer()

Dim Rg As Range, Are As Range, Nb As Long
Dim A As Long, T As Long, B As Long

With Worksheets("Feuil2")
Set Rg = .Range("M14:M20,M23:M26,M28:M38," & _
"M40:M45,M64:M67,M91:M95,N27,N39")
End With

Nb = Rg.Areas.Count
For A = Nb To 1 Step -1
Set R = Rg.Areas(A)
T = R.Rows.Count
For B = T To 1 Step -1
If R(B) = 0 Or R(B) = "" Then
R(B).EntireRow.Hidden = True
Else
R(B).EntireRow.Hidden = False
End If
Next
Next
Set Rg = Nothing: Set Are = Nothing
End Sub
'------------------------------


Salutations!


"Érico" a écrit dans le message de
news:

Bonjour,

Comment faire une macro qui masquerait des lignes qui ne contiennent
pas



de
valeur "", ou qu'ils contiennent la valeur "0" et de masquer. Les
cellules



à
vérifier sont:

M14 à M20
M23 à M26
M28 à M38
M40 à M45
M64 à M67
M91 à M95
N27
et N39.

Merci

Érico de Montréal









Avatar
Érico
Ta formule fonctionne partiellement puisqu'il y a un montant à la cellule
M28 et il indique pas le total.

Pourquoi?

Merci Érico

"michdenis" a écrit dans le message de
news:%
Bonjour Érico,

Une façon de faire :

Validation matricielle : Ctrl + Maj + Enter
=SOMME(SI(NON(ESTERREUR(M25:M28));M25:M28))


Salutations!


"Érico" a écrit dans le message de
news:%

Comment je peux mettre la formule "esterr" dans la formule suivante?
=SOMME(M25:M28)
Ça va règler mon problème une fois pour toute.

Merci beaucoup
Érico


"isabelle" a écrit dans le message de
news:
..si tu as mis "Option Explicit" en haut du module, il faut déclarer
toutes les variables.


Dim c As Variant

isabelle



Je ne comprends pas, il fonctionnait à merveille hier et maintenant,
il



ne
fonctionne pas,
Le débogueur me place vis à vis de:" If c = 0 Or c = Empty Then "

Merci de votre collaboration.

Érico

If c = 0 Or c = Empty Then
"michdenis" a écrit dans le message de
news:eYKIX%
Bonjour Érico,

Essaie ceci :

Adapte le nom de la feuille dans la procédure !

'------------------------------
Sub Masquer()

Dim Rg As Range, Are As Range, Nb As Long
Dim A As Long, T As Long, B As Long

With Worksheets("Feuil2")
Set Rg = .Range("M14:M20,M23:M26,M28:M38," & _
"M40:M45,M64:M67,M91:M95,N27,N39")
End With

Nb = Rg.Areas.Count
For A = Nb To 1 Step -1
Set R = Rg.Areas(A)
T = R.Rows.Count
For B = T To 1 Step -1
If R(B) = 0 Or R(B) = "" Then
R(B).EntireRow.Hidden = True
Else
R(B).EntireRow.Hidden = False
End If
Next
Next
Set Rg = Nothing: Set Are = Nothing
End Sub
'------------------------------


Salutations!


"Érico" a écrit dans le message de
news:

Bonjour,

Comment faire une macro qui masquerait des lignes qui ne contiennent
pas



de
valeur "", ou qu'ils contiennent la valeur "0" et de masquer. Les
cellules



à
vérifier sont:

M14 à M20
M23 à M26
M28 à M38
M40 à M45
M64 à M67
M91 à M95
N27
et N39.

Merci

Érico de Montréal














Avatar
michdenis
As tu utilisé une validation matricielle qui consiste à enfoncer les touches Ctrl+Maj+Enter ensemble après avoir saisi
la formule ?

Sinon, tu vas devoir m'expliquer pourquoi la cellule M28 n'est pas additionnée ... qu'a-t-elle de spéciale cette
cellule?


Salutations!


"Érico" a écrit dans le message de news:
Ta formule fonctionne partiellement puisqu'il y a un montant à la cellule
M28 et il indique pas le total.

Pourquoi?

Merci Érico

"michdenis" a écrit dans le message de
news:%
Bonjour Érico,

Une façon de faire :

Validation matricielle : Ctrl + Maj + Enter
=SOMME(SI(NON(ESTERREUR(M25:M28));M25:M28))


Salutations!


"Érico" a écrit dans le message de
news:%

Comment je peux mettre la formule "esterr" dans la formule suivante?
=SOMME(M25:M28)
Ça va règler mon problème une fois pour toute.

Merci beaucoup
Érico


"isabelle" a écrit dans le message de
news:
..si tu as mis "Option Explicit" en haut du module, il faut déclarer
toutes les variables.


Dim c As Variant

isabelle



Je ne comprends pas, il fonctionnait à merveille hier et maintenant,
il



ne
fonctionne pas,
Le débogueur me place vis à vis de:" If c = 0 Or c = Empty Then "

Merci de votre collaboration.

Érico

If c = 0 Or c = Empty Then
"michdenis" a écrit dans le message de
news:eYKIX%
Bonjour Érico,

Essaie ceci :

Adapte le nom de la feuille dans la procédure !

'------------------------------
Sub Masquer()

Dim Rg As Range, Are As Range, Nb As Long
Dim A As Long, T As Long, B As Long

With Worksheets("Feuil2")
Set Rg = .Range("M14:M20,M23:M26,M28:M38," & _
"M40:M45,M64:M67,M91:M95,N27,N39")
End With

Nb = Rg.Areas.Count
For A = Nb To 1 Step -1
Set R = Rg.Areas(A)
T = R.Rows.Count
For B = T To 1 Step -1
If R(B) = 0 Or R(B) = "" Then
R(B).EntireRow.Hidden = True
Else
R(B).EntireRow.Hidden = False
End If
Next
Next
Set Rg = Nothing: Set Are = Nothing
End Sub
'------------------------------


Salutations!


"Érico" a écrit dans le message de
news:

Bonjour,

Comment faire une macro qui masquerait des lignes qui ne contiennent
pas



de
valeur "", ou qu'ils contiennent la valeur "0" et de masquer. Les
cellules



à
vérifier sont:

M14 à M20
M23 à M26
M28 à M38
M40 à M45
M64 à M67
M91 à M95
N27
et N39.

Merci

Érico de Montréal














Avatar
Érico
TU AS RAISON, J'AVAIS OUBLIÉ LE ctrl_maj ENTER.

Merci beaucoup
Érico

"michdenis" a écrit dans le message de
news:%23$
As tu utilisé une validation matricielle qui consiste à enfoncer les
touches Ctrl+Maj+Enter ensemble après avoir saisi

la formule ?

Sinon, tu vas devoir m'expliquer pourquoi la cellule M28 n'est pas
additionnée ... qu'a-t-elle de spéciale cette

cellule?


Salutations!


"Érico" a écrit dans le message de
news:

Ta formule fonctionne partiellement puisqu'il y a un montant à la cellule
M28 et il indique pas le total.

Pourquoi?

Merci Érico

"michdenis" a écrit dans le message de
news:%
Bonjour Érico,

Une façon de faire :

Validation matricielle : Ctrl + Maj + Enter
=SOMME(SI(NON(ESTERREUR(M25:M28));M25:M28))


Salutations!


"Érico" a écrit dans le message de
news:%

Comment je peux mettre la formule "esterr" dans la formule suivante?
=SOMME(M25:M28)
Ça va règler mon problème une fois pour toute.

Merci beaucoup
Érico


"isabelle" a écrit dans le message de
news:
..si tu as mis "Option Explicit" en haut du module, il faut déclarer
toutes les variables.


Dim c As Variant

isabelle



Je ne comprends pas, il fonctionnait à merveille hier et maintenant,
il



ne
fonctionne pas,
Le débogueur me place vis à vis de:" If c = 0 Or c = Empty Then "

Merci de votre collaboration.

Érico

If c = 0 Or c = Empty Then
"michdenis" a écrit dans le message de
news:eYKIX%
Bonjour Érico,

Essaie ceci :

Adapte le nom de la feuille dans la procédure !

'------------------------------
Sub Masquer()

Dim Rg As Range, Are As Range, Nb As Long
Dim A As Long, T As Long, B As Long

With Worksheets("Feuil2")
Set Rg = .Range("M14:M20,M23:M26,M28:M38," & _
"M40:M45,M64:M67,M91:M95,N27,N39")
End With

Nb = Rg.Areas.Count
For A = Nb To 1 Step -1
Set R = Rg.Areas(A)
T = R.Rows.Count
For B = T To 1 Step -1
If R(B) = 0 Or R(B) = "" Then
R(B).EntireRow.Hidden = True
Else
R(B).EntireRow.Hidden = False
End If
Next
Next
Set Rg = Nothing: Set Are = Nothing
End Sub
'------------------------------


Salutations!


"Érico" a écrit dans le message de
news:

Bonjour,

Comment faire une macro qui masquerait des lignes qui ne
contiennent





pas
de
valeur "", ou qu'ils contiennent la valeur "0" et de masquer. Les
cellules



à
vérifier sont:

M14 à M20
M23 à M26
M28 à M38
M40 à M45
M64 à M67
M91 à M95
N27
et N39.

Merci

Érico de Montréal



















Avatar
Érico
J'ai faite une autre fonction dans une autre cellule et elle ne fonctionne
pas pourquoi?
Pourtant, j'ai faite ctrl-shift-enter

la voici:
=SOMME(SI(NON(ESTERREUR(M16:M17)*(P24/100));(M16:M17)*(P24/100)))
Merci



"Érico" a écrit dans le message de
news:
TU AS RAISON, J'AVAIS OUBLIÉ LE ctrl_maj ENTER.

Merci beaucoup
Érico

"michdenis" a écrit dans le message de
news:%23$
As tu utilisé une validation matricielle qui consiste à enfoncer les
touches Ctrl+Maj+Enter ensemble après avoir saisi

la formule ?

Sinon, tu vas devoir m'expliquer pourquoi la cellule M28 n'est pas
additionnée ... qu'a-t-elle de spéciale cette

cellule?


Salutations!


"Érico" a écrit dans le message de
news:

Ta formule fonctionne partiellement puisqu'il y a un montant à la
cellule


M28 et il indique pas le total.

Pourquoi?

Merci Érico

"michdenis" a écrit dans le message de
news:%
Bonjour Érico,

Une façon de faire :

Validation matricielle : Ctrl + Maj + Enter
=SOMME(SI(NON(ESTERREUR(M25:M28));M25:M28))


Salutations!


"Érico" a écrit dans le message de
news:%

Comment je peux mettre la formule "esterr" dans la formule suivante?
=SOMME(M25:M28)
Ça va règler mon problème une fois pour toute.

Merci beaucoup
Érico


"isabelle" a écrit dans le message de
news:
..si tu as mis "Option Explicit" en haut du module, il faut déclarer
toutes les variables.


Dim c As Variant

isabelle



Je ne comprends pas, il fonctionnait à merveille hier et
maintenant,





il
ne
fonctionne pas,
Le débogueur me place vis à vis de:" If c = 0 Or c = Empty Then "

Merci de votre collaboration.

Érico

If c = 0 Or c = Empty Then
"michdenis" a écrit dans le message de
news:eYKIX%
Bonjour Érico,

Essaie ceci :

Adapte le nom de la feuille dans la procédure !

'------------------------------
Sub Masquer()

Dim Rg As Range, Are As Range, Nb As Long
Dim A As Long, T As Long, B As Long

With Worksheets("Feuil2")
Set Rg = .Range("M14:M20,M23:M26,M28:M38," & _
"M40:M45,M64:M67,M91:M95,N27,N39")
End With

Nb = Rg.Areas.Count
For A = Nb To 1 Step -1
Set R = Rg.Areas(A)
T = R.Rows.Count
For B = T To 1 Step -1
If R(B) = 0 Or R(B) = "" Then
R(B).EntireRow.Hidden = True
Else
R(B).EntireRow.Hidden = False
End If
Next
Next
Set Rg = Nothing: Set Are = Nothing
End Sub
'------------------------------


Salutations!


"Érico" a écrit dans le message de
news:

Bonjour,

Comment faire une macro qui masquerait des lignes qui ne
contiennent





pas
de
valeur "", ou qu'ils contiennent la valeur "0" et de masquer.
Les






cellules
à
vérifier sont:

M14 à M20
M23 à M26
M28 à M38
M40 à M45
M64 à M67
M91 à M95
N27
et N39.

Merci

Érico de Montréal























Avatar
Starwing
Salut Erico,

Elle devrait fonctionner pourtant...


Starwing
Avatar
isabelle
bonjour Érico,

les plages doivent être de dimension identique.

isabelle


J'ai faite une autre fonction dans une autre cellule et elle ne fonctionne
pas pourquoi?
Pourtant, j'ai faite ctrl-shift-enter

la voici:
=SOMME(SI(NON(ESTERREUR(M16:M17)*(P24/100));(M16:M17)*(P24/100)))
Merci

"Érico" a écrit dans le message de
news:
TU AS RAISON, J'AVAIS OUBLIÉ LE ctrl_maj ENTER.

Merci beaucoup
Érico

"michdenis" a écrit dans le message de
news:%23$
As tu utilisé une validation matricielle qui consiste à enfoncer les
touches Ctrl+Maj+Enter ensemble après avoir saisi

la formule ?

Sinon, tu vas devoir m'expliquer pourquoi la cellule M28 n'est pas
additionnée ... qu'a-t-elle de spéciale cette

cellule?


Salutations!


"Érico" a écrit dans le message de
news:

Ta formule fonctionne partiellement puisqu'il y a un montant à la
cellule


M28 et il indique pas le total.

Pourquoi?

Merci Érico

"michdenis" a écrit dans le message de
news:%
Bonjour Érico,

Une façon de faire :

Validation matricielle : Ctrl + Maj + Enter
=SOMME(SI(NON(ESTERREUR(M25:M28));M25:M28))


Salutations!


"Érico" a écrit dans le message de
news:%

Comment je peux mettre la formule "esterr" dans la formule suivante?
=SOMME(M25:M28)
Ça va règler mon problème une fois pour toute.

Merci beaucoup
Érico


"isabelle" a écrit dans le message de
news:
..si tu as mis "Option Explicit" en haut du module, il faut déclarer
toutes les variables.


Dim c As Variant

isabelle



Je ne comprends pas, il fonctionnait à merveille hier et
maintenant,





il
ne
fonctionne pas,
Le débogueur me place vis à vis de:" If c = 0 Or c = Empty Then "

Merci de votre collaboration.

Érico

If c = 0 Or c = Empty Then
"michdenis" a écrit dans le message de
news:eYKIX%
Bonjour Érico,

Essaie ceci :

Adapte le nom de la feuille dans la procédure !

'------------------------------
Sub Masquer()

Dim Rg As Range, Are As Range, Nb As Long
Dim A As Long, T As Long, B As Long

With Worksheets("Feuil2")
Set Rg = .Range("M14:M20,M23:M26,M28:M38," & _
"M40:M45,M64:M67,M91:M95,N27,N39")
End With

Nb = Rg.Areas.Count
For A = Nb To 1 Step -1
Set R = Rg.Areas(A)
T = R.Rows.Count
For B = T To 1 Step -1
If R(B) = 0 Or R(B) = "" Then
R(B).EntireRow.Hidden = True
Else
R(B).EntireRow.Hidden = False
End If
Next
Next
Set Rg = Nothing: Set Are = Nothing
End Sub
'------------------------------


Salutations!


"Érico" a écrit dans le message de
news:

Bonjour,

Comment faire une macro qui masquerait des lignes qui ne
contiennent





pas
de
valeur "", ou qu'ils contiennent la valeur "0" et de masquer.
Les






cellules
à
vérifier sont:

M14 à M20
M23 à M26
M28 à M38
M40 à M45
M64 à M67
M91 à M95
N27
et N39.

Merci

Érico de Montréal

























1 2