OVH Cloud OVH Cloud

Masquer une ligne automatiquement

17 réponses
Avatar
Érico
Bonjour tout le monde,

Avec Excel 2002, je cherche un moyen de masquer une ligne automatiquement.
Si sur cette même ligne, la valeur dans cette cellule est "0", de masquer
cette ligne.
L'inverse aussi, c'est-à-dire, si cette même cellule, la valeur est autre
que "0", d'afficher cette ligne.

Est-ce faisaible?

Merci

Érico de Montréal

10 réponses

1 2
Avatar
Érico
C'est plutôt une cellule vierge au lieu du zéro

Merci


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

Avec Excel 2002, je cherche un moyen de masquer une ligne automatiquement.
Si sur cette même ligne, la valeur dans cette cellule est "0", de masquer
cette ligne.
L'inverse aussi, c'est-à-dire, si cette même cellule, la valeur est autre
que "0", d'afficher cette ligne.

Est-ce faisaible?

Merci

Érico de Montréal




Avatar
J-Dan
bonjour Erico,

essaie cette macro dont tu peux modifier ce qui concerne
ton "Range" (Rover ?) :

Range(Range("A1"), Range("A65536").End(xlUp)).Activate
For Each c In Selection
If Range("A" & c.Row) = 0 And Range("A" & c.Row)
<> "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next

pour afficher les lignes pour lesquelles ta cellule est
<> de 0 :

If Range("A" & c.Row) <> 0 Then
Rows(c.Row).EntireRow.Hidden = false
End If

J-Dan

-----Message d'origine-----
Bonjour tout le monde,

Avec Excel 2002, je cherche un moyen de masquer une
ligne automatiquement.

Si sur cette même ligne, la valeur dans cette cellule
est "0", de masquer

cette ligne.
L'inverse aussi, c'est-à-dire, si cette même cellule, la
valeur est autre

que "0", d'afficher cette ligne.

Est-ce faisaible?

Merci

Érico de Montréal


.



Avatar
Érico
Oui mais.....

C'est seulement les lignes 46 avec la cellule E46 et
ligne 47 avec la cellule E47.

C'est quoi le "Rover" ?

Merci

Érico



"J-Dan" a écrit dans le message de
news:35f501c48f65$5ec404f0$
bonjour Erico,

essaie cette macro dont tu peux modifier ce qui concerne
ton "Range" (Rover ?) :

Range(Range("A1"), Range("A65536").End(xlUp)).Activate
For Each c In Selection
If Range("A" & c.Row) = 0 And Range("A" & c.Row)
<> "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next

pour afficher les lignes pour lesquelles ta cellule est
<> de 0 :

If Range("A" & c.Row) <> 0 Then
Rows(c.Row).EntireRow.Hidden = false
End If

J-Dan

-----Message d'origine-----
Bonjour tout le monde,

Avec Excel 2002, je cherche un moyen de masquer une
ligne automatiquement.

Si sur cette même ligne, la valeur dans cette cellule
est "0", de masquer

cette ligne.
L'inverse aussi, c'est-à-dire, si cette même cellule, la
valeur est autre

que "0", d'afficher cette ligne.

Est-ce faisaible?

Merci

Érico de Montréal


.



Avatar
J-Dan
Erico,

il y a juste une modif à faire :

sub Masque()
For Each c In Range("E46:E47")
If Range("E" & c.Row) = "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next
End Sub

C'est quoi le "Rover" ?
laisse tomber, c'est juste un délire ! :-((((


J-Dan

-----Message d'origine-----
Oui mais.....

C'est seulement les lignes 46 avec la cellule E46 et
ligne 47 avec la cellule E47.

C'est quoi le "Rover" ?

Merci

Érico



"J-Dan" a écrit
dans le message de

news:35f501c48f65$5ec404f0$
bonjour Erico,

essaie cette macro dont tu peux modifier ce qui concerne
ton "Range" (Rover ?) :

Range(Range("A1"), Range("A65536").End(xlUp)).Activate
For Each c In Selection
If Range("A" & c.Row) = 0 And Range("A" & c.Row)
<> "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next

pour afficher les lignes pour lesquelles ta cellule est
<> de 0 :

If Range("A" & c.Row) <> 0 Then
Rows(c.Row).EntireRow.Hidden = false
End If

J-Dan

-----Message d'origine-----
Bonjour tout le monde,

Avec Excel 2002, je cherche un moyen de masquer une
ligne automatiquement.

Si sur cette même ligne, la valeur dans cette cellule
est "0", de masquer

cette ligne.
L'inverse aussi, c'est-à-dire, si cette même cellule, la
valeur est autre

que "0", d'afficher cette ligne.

Est-ce faisaible?

Merci

Érico de Montréal


.




.




Avatar
Érico
Je l'ai copié tel quel dans le "Thisworkbook" et rien ne change.
Une modification à faire! Lequel?

J'ai finalement compris pour le Range Rover.

Merci beaucoup pour ton aide.
Érico
______________________________________________________




"J-Dan" a écrit dans le message de
news:366001c48f69$1d9e53f0$
Erico,

il y a juste une modif à faire :

sub Masque()
For Each c In Range("E46:E47")
If Range("E" & c.Row) = "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next
End Sub

C'est quoi le "Rover" ?
laisse tomber, c'est juste un délire ! :-((((


J-Dan

-----Message d'origine-----
Oui mais.....

C'est seulement les lignes 46 avec la cellule E46 et
ligne 47 avec la cellule E47.

C'est quoi le "Rover" ?

Merci

Érico



"J-Dan" a écrit
dans le message de

news:35f501c48f65$5ec404f0$
bonjour Erico,

essaie cette macro dont tu peux modifier ce qui concerne
ton "Range" (Rover ?) :

Range(Range("A1"), Range("A65536").End(xlUp)).Activate
For Each c In Selection
If Range("A" & c.Row) = 0 And Range("A" & c.Row)
<> "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next

pour afficher les lignes pour lesquelles ta cellule est
<> de 0 :

If Range("A" & c.Row) <> 0 Then
Rows(c.Row).EntireRow.Hidden = false
End If

J-Dan

-----Message d'origine-----
Bonjour tout le monde,

Avec Excel 2002, je cherche un moyen de masquer une
ligne automatiquement.

Si sur cette même ligne, la valeur dans cette cellule
est "0", de masquer

cette ligne.
L'inverse aussi, c'est-à-dire, si cette même cellule, la
valeur est autre

que "0", d'afficher cette ligne.

Est-ce faisaible?

Merci

Érico de Montréal


.




.




Avatar
J-Dan
Erico,

si cette macro n'est destinée qu'à une feuille, tu peux
la mettre dans le module de la feuille en question.
Tu peux la mettre aussi dans un module standard en
prenant soin d'activer la feuille où elle doit s'executer

exemple :

Sub Masque()
Worksheets("Feuil2").Activate

For Each c In Range("E46:E47")
If Range("E" & c.Row) = "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next
End Sub

J-Dan

-----Message d'origine-----
Je l'ai copié tel quel dans le "Thisworkbook" et rien ne
change.

Une modification à faire! Lequel?

J'ai finalement compris pour le Range Rover.

Merci beaucoup pour ton aide.
Érico
______________________________________________________




"J-Dan" a écrit
dans le message de

news:366001c48f69$1d9e53f0$
Erico,

il y a juste une modif à faire :

sub Masque()
For Each c In Range("E46:E47")
If Range("E" & c.Row) = "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next
End Sub

C'est quoi le "Rover" ?
laisse tomber, c'est juste un délire ! :-((((


J-Dan

-----Message d'origine-----
Oui mais.....

C'est seulement les lignes 46 avec la cellule E46 et
ligne 47 avec la cellule E47.

C'est quoi le "Rover" ?

Merci

Érico



"J-Dan" a écrit
dans le message de

news:35f501c48f65$5ec404f0$
bonjour Erico,

essaie cette macro dont tu peux modifier ce qui concerne
ton "Range" (Rover ?) :

Range(Range("A1"), Range("A65536").End(xlUp)).Activate
For Each c In Selection
If Range("A" & c.Row) = 0 And Range("A" & c.Row)
<> "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next

pour afficher les lignes pour lesquelles ta cellule est
<> de 0 :

If Range("A" & c.Row) <> 0 Then
Rows(c.Row).EntireRow.Hidden = false
End If

J-Dan

-----Message d'origine-----
Bonjour tout le monde,

Avec Excel 2002, je cherche un moyen de masquer une
ligne automatiquement.

Si sur cette même ligne, la valeur dans cette cellule
est "0", de masquer

cette ligne.
L'inverse aussi, c'est-à-dire, si cette même cellule,
la



valeur est autre
que "0", d'afficher cette ligne.

Est-ce faisaible?

Merci

Érico de Montréal


.




.




.





Avatar
Érico
Elle fonctionne et elle masque.
Par contre, je ne sais pas comment faire pour la rendre automatique.
C'est-à-dire, dès que le chiffre change, d'exécuter cette macro.

Merci beaucoup.

Érico de Montréal

"J-Dan" a écrit dans le message de
news:3cc401c48fb2$2c112bd0$
Erico,

si cette macro n'est destinée qu'à une feuille, tu peux
la mettre dans le module de la feuille en question.
Tu peux la mettre aussi dans un module standard en
prenant soin d'activer la feuille où elle doit s'executer

exemple :

Sub Masque()
Worksheets("Feuil2").Activate

For Each c In Range("E46:E47")
If Range("E" & c.Row) = "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next
End Sub

J-Dan

-----Message d'origine-----
Je l'ai copié tel quel dans le "Thisworkbook" et rien ne
change.

Une modification à faire! Lequel?

J'ai finalement compris pour le Range Rover.

Merci beaucoup pour ton aide.
Érico
______________________________________________________




"J-Dan" a écrit
dans le message de

news:366001c48f69$1d9e53f0$
Erico,

il y a juste une modif à faire :

sub Masque()
For Each c In Range("E46:E47")
If Range("E" & c.Row) = "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next
End Sub

C'est quoi le "Rover" ?
laisse tomber, c'est juste un délire ! :-((((


J-Dan

-----Message d'origine-----
Oui mais.....

C'est seulement les lignes 46 avec la cellule E46 et
ligne 47 avec la cellule E47.

C'est quoi le "Rover" ?

Merci

Érico



"J-Dan" a écrit
dans le message de

news:35f501c48f65$5ec404f0$
bonjour Erico,

essaie cette macro dont tu peux modifier ce qui concerne
ton "Range" (Rover ?) :

Range(Range("A1"), Range("A65536").End(xlUp)).Activate
For Each c In Selection
If Range("A" & c.Row) = 0 And Range("A" & c.Row)
<> "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next

pour afficher les lignes pour lesquelles ta cellule est
<> de 0 :

If Range("A" & c.Row) <> 0 Then
Rows(c.Row).EntireRow.Hidden = false
End If

J-Dan

-----Message d'origine-----
Bonjour tout le monde,

Avec Excel 2002, je cherche un moyen de masquer une
ligne automatiquement.

Si sur cette même ligne, la valeur dans cette cellule
est "0", de masquer

cette ligne.
L'inverse aussi, c'est-à-dire, si cette même cellule,
la



valeur est autre
que "0", d'afficher cette ligne.

Est-ce faisaible?

Merci

Érico de Montréal


.




.




.





Avatar
J-Dan
Erico,

pour faire cela, dans le module de la feuille en
question :

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E46:E47")) Is Nothing Then
Exit Sub
End if
If ActiveCell = "" Then Rows(ActiveCell.Row).Hidden = True
End Sub

J-Dan


-----Message d'origine-----
Elle fonctionne et elle masque.
Par contre, je ne sais pas comment faire pour la rendre
automatique.

C'est-à-dire, dès que le chiffre change, d'exécuter
cette macro.


Merci beaucoup.

Érico de Montréal

"J-Dan" a écrit
dans le message de

news:3cc401c48fb2$2c112bd0$
Erico,

si cette macro n'est destinée qu'à une feuille, tu peux
la mettre dans le module de la feuille en question.
Tu peux la mettre aussi dans un module standard en
prenant soin d'activer la feuille où elle doit s'executer

exemple :

Sub Masque()
Worksheets("Feuil2").Activate

For Each c In Range("E46:E47")
If Range("E" & c.Row) = "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next
End Sub

J-Dan

-----Message d'origine-----
Je l'ai copié tel quel dans le "Thisworkbook" et rien ne
change.

Une modification à faire! Lequel?

J'ai finalement compris pour le Range Rover.

Merci beaucoup pour ton aide.
Érico
______________________________________________________




"J-Dan" a écrit
dans le message de

news:366001c48f69$1d9e53f0$
Erico,

il y a juste une modif à faire :

sub Masque()
For Each c In Range("E46:E47")
If Range("E" & c.Row) = "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next
End Sub

C'est quoi le "Rover" ?
laisse tomber, c'est juste un délire ! :-((((


J-Dan

-----Message d'origine-----
Oui mais.....

C'est seulement les lignes 46 avec la cellule E46 et
ligne 47 avec la cellule E47.

C'est quoi le "Rover" ?

Merci

Érico



"J-Dan" a écrit
dans le message de

news:35f501c48f65$5ec404f0$
bonjour Erico,

essaie cette macro dont tu peux modifier ce qui
concerne



ton "Range" (Rover ?) :

Range(Range("A1"), Range("A65536").End(xlUp)).Activate
For Each c In Selection
If Range("A" & c.Row) = 0 And Range("A" & c.Row)
<> "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next

pour afficher les lignes pour lesquelles ta cellule est
<> de 0 :

If Range("A" & c.Row) <> 0 Then
Rows(c.Row).EntireRow.Hidden = false
End If

J-Dan

-----Message d'origine-----
Bonjour tout le monde,

Avec Excel 2002, je cherche un moyen de masquer une
ligne automatiquement.

Si sur cette même ligne, la valeur dans cette cellule
est "0", de masquer

cette ligne.
L'inverse aussi, c'est-à-dire, si cette même cellule,
la



valeur est autre
que "0", d'afficher cette ligne.

Est-ce faisaible?

Merci

Érico de Montréal


.




.




.




.






Avatar
Érico
Salut,

Est-ce que ceci fait fonctionné la macro à chaque fois qu'il y a un
changement de données dans "E46" et "E47"?

Elle ne fonctionne pas! :c(

Érico



"J-Dan" a écrit dans le message de
news:43ed01c49038$1ffb0790$
Erico,

pour faire cela, dans le module de la feuille en
question :

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E46:E47")) Is Nothing Then
Exit Sub
End if
If ActiveCell = "" Then Rows(ActiveCell.Row).Hidden = True
End Sub

J-Dan


-----Message d'origine-----
Elle fonctionne et elle masque.
Par contre, je ne sais pas comment faire pour la rendre
automatique.

C'est-à-dire, dès que le chiffre change, d'exécuter
cette macro.


Merci beaucoup.

Érico de Montréal

"J-Dan" a écrit
dans le message de

news:3cc401c48fb2$2c112bd0$
Erico,

si cette macro n'est destinée qu'à une feuille, tu peux
la mettre dans le module de la feuille en question.
Tu peux la mettre aussi dans un module standard en
prenant soin d'activer la feuille où elle doit s'executer

exemple :

Sub Masque()
Worksheets("Feuil2").Activate

For Each c In Range("E46:E47")
If Range("E" & c.Row) = "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next
End Sub

J-Dan

-----Message d'origine-----
Je l'ai copié tel quel dans le "Thisworkbook" et rien ne
change.

Une modification à faire! Lequel?

J'ai finalement compris pour le Range Rover.

Merci beaucoup pour ton aide.
Érico
______________________________________________________




"J-Dan" a écrit
dans le message de

news:366001c48f69$1d9e53f0$
Erico,

il y a juste une modif à faire :

sub Masque()
For Each c In Range("E46:E47")
If Range("E" & c.Row) = "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next
End Sub

C'est quoi le "Rover" ?
laisse tomber, c'est juste un délire ! :-((((


J-Dan

-----Message d'origine-----
Oui mais.....

C'est seulement les lignes 46 avec la cellule E46 et
ligne 47 avec la cellule E47.

C'est quoi le "Rover" ?

Merci

Érico



"J-Dan" a écrit
dans le message de

news:35f501c48f65$5ec404f0$
bonjour Erico,

essaie cette macro dont tu peux modifier ce qui
concerne



ton "Range" (Rover ?) :

Range(Range("A1"), Range("A65536").End(xlUp)).Activate
For Each c In Selection
If Range("A" & c.Row) = 0 And Range("A" & c.Row)
<> "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next

pour afficher les lignes pour lesquelles ta cellule est
<> de 0 :

If Range("A" & c.Row) <> 0 Then
Rows(c.Row).EntireRow.Hidden = false
End If

J-Dan

-----Message d'origine-----
Bonjour tout le monde,

Avec Excel 2002, je cherche un moyen de masquer une
ligne automatiquement.

Si sur cette même ligne, la valeur dans cette cellule
est "0", de masquer

cette ligne.
L'inverse aussi, c'est-à-dire, si cette même cellule,
la



valeur est autre
que "0", d'afficher cette ligne.

Est-ce faisaible?

Merci

Érico de Montréal


.




.




.




.






Avatar
J-Dan
Erico,

tu voulais que les lignes 46 ou 47 s'effacent lorsque la
cellule est vide, elle s'execute donc lorsque tu
supprimes une de ces valeurs (par la touche Suppr). Au
départ tu voulais l'effacement de la ligne si = 0,
ensuite tu as demandé si la cellule est vide.

Plus haut tu as demandé aussi si on pouvait afficher de
nouveau la ligne si la valeur de cette cellule <> 0.
Je ne comprends pas trop, si la ligne est masquée, tu ne
pourras saisir de valeur dans celle-ci.

Peux-tu éclaircir ton problème ?

J-Dan

-----Message d'origine-----
Salut,

Est-ce que ceci fait fonctionné la macro à chaque fois
qu'il y a un

changement de données dans "E46" et "E47"?

Elle ne fonctionne pas! :c(

Érico



"J-Dan" a écrit
dans le message de

news:43ed01c49038$1ffb0790$
Erico,

pour faire cela, dans le module de la feuille en
question :

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E46:E47")) Is Nothing Then
Exit Sub
End if
If ActiveCell = "" Then Rows(ActiveCell.Row).Hidden =
True

End Sub

J-Dan


-----Message d'origine-----
Elle fonctionne et elle masque.
Par contre, je ne sais pas comment faire pour la rendre
automatique.

C'est-à-dire, dès que le chiffre change, d'exécuter
cette macro.


Merci beaucoup.

Érico de Montréal

"J-Dan" a écrit
dans le message de

news:3cc401c48fb2$2c112bd0$
Erico,

si cette macro n'est destinée qu'à une feuille, tu peux
la mettre dans le module de la feuille en question.
Tu peux la mettre aussi dans un module standard en
prenant soin d'activer la feuille où elle doit
s'executer



exemple :

Sub Masque()
Worksheets("Feuil2").Activate

For Each c In Range("E46:E47")
If Range("E" & c.Row) = "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next
End Sub

J-Dan

-----Message d'origine-----
Je l'ai copié tel quel dans le "Thisworkbook" et rien
ne



change.
Une modification à faire! Lequel?

J'ai finalement compris pour le Range Rover.

Merci beaucoup pour ton aide.
Érico
______________________________________________________




"J-Dan" a écrit
dans le message de

news:366001c48f69$1d9e53f0$
Erico,

il y a juste une modif à faire :

sub Masque()
For Each c In Range("E46:E47")
If Range("E" & c.Row) = "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next
End Sub

C'est quoi le "Rover" ?
laisse tomber, c'est juste un délire ! :-((((


J-Dan

-----Message d'origine-----
Oui mais.....

C'est seulement les lignes 46 avec la cellule E46 et
ligne 47 avec la cellule E47.

C'est quoi le "Rover" ?

Merci

Érico



"J-Dan" a écrit
dans le message de

news:35f501c48f65$5ec404f0$
bonjour Erico,

essaie cette macro dont tu peux modifier ce qui
concerne



ton "Range" (Rover ?) :

Range(Range("A1"), Range("A65536").End(xlUp)).Activate
For Each c In Selection
If Range("A" & c.Row) = 0 And Range("A" & c.Row)
<> "" Then
Rows(c.Row).EntireRow.Hidden = True
End If
Next

pour afficher les lignes pour lesquelles ta cellule
est




<> de 0 :

If Range("A" & c.Row) <> 0 Then
Rows(c.Row).EntireRow.Hidden = false
End If

J-Dan

-----Message d'origine-----
Bonjour tout le monde,

Avec Excel 2002, je cherche un moyen de masquer une
ligne automatiquement.

Si sur cette même ligne, la valeur dans cette cellule
est "0", de masquer

cette ligne.
L'inverse aussi, c'est-à-dire, si cette même cellule,
la



valeur est autre
que "0", d'afficher cette ligne.

Est-ce faisaible?

Merci

Érico de Montréal


.




.




.




.




.







1 2