Bonjour =E0 tous ;
je viens vers chercher un peut d'aide pour faire une macro pour
=E9voluer un tableau
J'ai un tableau de donn=E9es de (B5:BX400), j'ai en colonne (F5:F400)
un code qui varie de 30 =E0 32
Comment faire la macro qui me permettrait, quand je met dans la
cellule (E2) le code 30 cela me masque toutes les lignes du tableau
sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste
visible toutes les lignes 30
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Garnote
Bonjour Tibert,
Une piste : Cette macro masque toutes les lignes de B5:BX400 dont les valeurs en colonne F sont différentes de la valeur de E2 : Sub Masquer() Application.ScreenUpdating = False For i = 400 To 5 Step -1 If Range("F" & i).Value <> Range("E2").Value Then _ Range("F" & i).EntireRow.Hidden = True Next i Application.ScreenUpdating = True End Sub
Cette macro affiche toutes les lignes de B5:BX400 : Sub Tout_Afficher() Application.ScreenUpdating = False For i = 400 To 5 Step -1 Range("F" & i).EntireRow.Hidden = False Next i Application.ScreenUpdating = True End Sub
Serge
"Tibert" a écrit dans le message de news:
Bonjour à tous ; je viens vers chercher un peut d'aide pour faire une macro pour évoluer un tableau J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400) un code qui varie de 30 à 32 Comment faire la macro qui me permettrait, quand je met dans la cellule (E2) le code 30 cela me masque toutes les lignes du tableau sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste visible toutes les lignes 30
merci à vous et bonne journée
Bonjour Tibert,
Une piste :
Cette macro masque toutes les lignes de B5:BX400
dont les valeurs en colonne F sont différentes de la
valeur de E2 :
Sub Masquer()
Application.ScreenUpdating = False
For i = 400 To 5 Step -1
If Range("F" & i).Value <> Range("E2").Value Then _
Range("F" & i).EntireRow.Hidden = True
Next i
Application.ScreenUpdating = True
End Sub
Cette macro affiche toutes les lignes de B5:BX400 :
Sub Tout_Afficher()
Application.ScreenUpdating = False
For i = 400 To 5 Step -1
Range("F" & i).EntireRow.Hidden = False
Next i
Application.ScreenUpdating = True
End Sub
Serge
"Tibert" <syleg35@gmail.com> a écrit dans le message de news:
9846d70d-9f6b-4c1d-a809-c751d2fb1a90@j14g2000yqm.googlegroups.com...
Bonjour à tous ;
je viens vers chercher un peut d'aide pour faire une macro pour
évoluer un tableau
J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400)
un code qui varie de 30 à 32
Comment faire la macro qui me permettrait, quand je met dans la
cellule (E2) le code 30 cela me masque toutes les lignes du tableau
sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste
visible toutes les lignes 30
Une piste : Cette macro masque toutes les lignes de B5:BX400 dont les valeurs en colonne F sont différentes de la valeur de E2 : Sub Masquer() Application.ScreenUpdating = False For i = 400 To 5 Step -1 If Range("F" & i).Value <> Range("E2").Value Then _ Range("F" & i).EntireRow.Hidden = True Next i Application.ScreenUpdating = True End Sub
Cette macro affiche toutes les lignes de B5:BX400 : Sub Tout_Afficher() Application.ScreenUpdating = False For i = 400 To 5 Step -1 Range("F" & i).EntireRow.Hidden = False Next i Application.ScreenUpdating = True End Sub
Serge
"Tibert" a écrit dans le message de news:
Bonjour à tous ; je viens vers chercher un peut d'aide pour faire une macro pour évoluer un tableau J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400) un code qui varie de 30 à 32 Comment faire la macro qui me permettrait, quand je met dans la cellule (E2) le code 30 cela me masque toutes les lignes du tableau sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste visible toutes les lignes 30
merci à vous et bonne journée
Tibert
Bonjour Garnot merci pour ton aide, mais je recherche plutôt la macro qui va me masquer tout sauf les ligne dont le code est en (E2) Bonne journée
On 14 déc, 15:45, "Garnote" wrote:
Bonjour Tibert,
Une piste : Cette macro masque toutes les lignes de B5:BX400 dont les valeurs en colonne F sont différentes de la valeur de E2 : Sub Masquer() Application.ScreenUpdating = False For i = 400 To 5 Step -1 If Range("F" & i).Value <> Range("E2").Value Then _ Range("F" & i).EntireRow.Hidden = True Next i Application.ScreenUpdating = True End Sub
Cette macro affiche toutes les lignes de B5:BX400 : Sub Tout_Afficher() Application.ScreenUpdating = False For i = 400 To 5 Step -1 Range("F" & i).EntireRow.Hidden = False Next i Application.ScreenUpdating = True End Sub
Serge
"Tibert" a écrit dans le message de news:
Bonjour à tous ; je viens vers chercher un peut d'aide pour faire une macro pour évoluer un tableau J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400) un code qui varie de 30 à 32 Comment faire la macro qui me permettrait, quand je met dans la cellule (E2) le code 30 cela me masque toutes les lignes du tableau sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste visible toutes les lignes 30
merci à vous et bonne journée
Bonjour Garnot
merci pour ton aide, mais je recherche plutôt la macro qui va me
masquer tout sauf les ligne dont le code est en (E2)
Bonne journée
On 14 déc, 15:45, "Garnote" <garnote3ENLE...@videotron.ca> wrote:
Bonjour Tibert,
Une piste :
Cette macro masque toutes les lignes de B5:BX400
dont les valeurs en colonne F sont différentes de la
valeur de E2 :
Sub Masquer()
Application.ScreenUpdating = False
For i = 400 To 5 Step -1
If Range("F" & i).Value <> Range("E2").Value Then _
Range("F" & i).EntireRow.Hidden = True
Next i
Application.ScreenUpdating = True
End Sub
Cette macro affiche toutes les lignes de B5:BX400 :
Sub Tout_Afficher()
Application.ScreenUpdating = False
For i = 400 To 5 Step -1
Range("F" & i).EntireRow.Hidden = False
Next i
Application.ScreenUpdating = True
End Sub
Serge
"Tibert" <syle...@gmail.com> a écrit dans le message de news:
9846d70d-9f6b-4c1d-a809-c751d2fb1...@j14g2000yqm.googlegroups.com...
Bonjour à tous ;
je viens vers chercher un peut d'aide pour faire une macro pour
évoluer un tableau
J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400)
un code qui varie de 30 à 32
Comment faire la macro qui me permettrait, quand je met dans la
cellule (E2) le code 30 cela me masque toutes les lignes du tableau
sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste
visible toutes les lignes 30
Bonjour Garnot merci pour ton aide, mais je recherche plutôt la macro qui va me masquer tout sauf les ligne dont le code est en (E2) Bonne journée
On 14 déc, 15:45, "Garnote" wrote:
Bonjour Tibert,
Une piste : Cette macro masque toutes les lignes de B5:BX400 dont les valeurs en colonne F sont différentes de la valeur de E2 : Sub Masquer() Application.ScreenUpdating = False For i = 400 To 5 Step -1 If Range("F" & i).Value <> Range("E2").Value Then _ Range("F" & i).EntireRow.Hidden = True Next i Application.ScreenUpdating = True End Sub
Cette macro affiche toutes les lignes de B5:BX400 : Sub Tout_Afficher() Application.ScreenUpdating = False For i = 400 To 5 Step -1 Range("F" & i).EntireRow.Hidden = False Next i Application.ScreenUpdating = True End Sub
Serge
"Tibert" a écrit dans le message de news:
Bonjour à tous ; je viens vers chercher un peut d'aide pour faire une macro pour évoluer un tableau J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400) un code qui varie de 30 à 32 Comment faire la macro qui me permettrait, quand je met dans la cellule (E2) le code 30 cela me masque toutes les lignes du tableau sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste visible toutes les lignes 30
merci à vous et bonne journée
Garnote
N'est-ce pas ce que fait ma macro ?!
Serge
"Tibert" a écrit dans le message de news:
Bonjour Garnot merci pour ton aide, mais je recherche plutôt la macro qui va me masquer tout sauf les ligne dont le code est en (E2) Bonne journée
On 14 déc, 15:45, "Garnote" wrote:
Bonjour Tibert,
Une piste : Cette macro masque toutes les lignes de B5:BX400 dont les valeurs en colonne F sont différentes de la valeur de E2 : Sub Masquer() Application.ScreenUpdating = False For i = 400 To 5 Step -1 If Range("F" & i).Value <> Range("E2").Value Then _ Range("F" & i).EntireRow.Hidden = True Next i Application.ScreenUpdating = True End Sub
Cette macro affiche toutes les lignes de B5:BX400 : Sub Tout_Afficher() Application.ScreenUpdating = False For i = 400 To 5 Step -1 Range("F" & i).EntireRow.Hidden = False Next i Application.ScreenUpdating = True End Sub
Serge
"Tibert" a écrit dans le message de news:
Bonjour à tous ; je viens vers chercher un peut d'aide pour faire une macro pour évoluer un tableau J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400) un code qui varie de 30 à 32 Comment faire la macro qui me permettrait, quand je met dans la cellule (E2) le code 30 cela me masque toutes les lignes du tableau sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste visible toutes les lignes 30
merci à vous et bonne journée
N'est-ce pas ce que fait ma macro ?!
Serge
"Tibert" <syleg35@gmail.com> a écrit dans le message de news:
21a5a623-d6a5-4a0e-8bb0-b52ec9012dd6@d10g2000yqh.googlegroups.com...
Bonjour Garnot
merci pour ton aide, mais je recherche plutôt la macro qui va me
masquer tout sauf les ligne dont le code est en (E2)
Bonne journée
On 14 déc, 15:45, "Garnote" <garnote3ENLE...@videotron.ca> wrote:
Bonjour Tibert,
Une piste :
Cette macro masque toutes les lignes de B5:BX400
dont les valeurs en colonne F sont différentes de la
valeur de E2 :
Sub Masquer()
Application.ScreenUpdating = False
For i = 400 To 5 Step -1
If Range("F" & i).Value <> Range("E2").Value Then _
Range("F" & i).EntireRow.Hidden = True
Next i
Application.ScreenUpdating = True
End Sub
Cette macro affiche toutes les lignes de B5:BX400 :
Sub Tout_Afficher()
Application.ScreenUpdating = False
For i = 400 To 5 Step -1
Range("F" & i).EntireRow.Hidden = False
Next i
Application.ScreenUpdating = True
End Sub
Serge
"Tibert" <syle...@gmail.com> a écrit dans le message de news:
9846d70d-9f6b-4c1d-a809-c751d2fb1...@j14g2000yqm.googlegroups.com...
Bonjour à tous ;
je viens vers chercher un peut d'aide pour faire une macro pour
évoluer un tableau
J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400)
un code qui varie de 30 à 32
Comment faire la macro qui me permettrait, quand je met dans la
cellule (E2) le code 30 cela me masque toutes les lignes du tableau
sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste
visible toutes les lignes 30
Bonjour Garnot merci pour ton aide, mais je recherche plutôt la macro qui va me masquer tout sauf les ligne dont le code est en (E2) Bonne journée
On 14 déc, 15:45, "Garnote" wrote:
Bonjour Tibert,
Une piste : Cette macro masque toutes les lignes de B5:BX400 dont les valeurs en colonne F sont différentes de la valeur de E2 : Sub Masquer() Application.ScreenUpdating = False For i = 400 To 5 Step -1 If Range("F" & i).Value <> Range("E2").Value Then _ Range("F" & i).EntireRow.Hidden = True Next i Application.ScreenUpdating = True End Sub
Cette macro affiche toutes les lignes de B5:BX400 : Sub Tout_Afficher() Application.ScreenUpdating = False For i = 400 To 5 Step -1 Range("F" & i).EntireRow.Hidden = False Next i Application.ScreenUpdating = True End Sub
Serge
"Tibert" a écrit dans le message de news:
Bonjour à tous ; je viens vers chercher un peut d'aide pour faire une macro pour évoluer un tableau J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400) un code qui varie de 30 à 32 Comment faire la macro qui me permettrait, quand je met dans la cellule (E2) le code 30 cela me masque toutes les lignes du tableau sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste visible toutes les lignes 30
merci à vous et bonne journée
michdenis
Bonjour,
Dans la feuille module où l'action se déroule, colle la macro suivante :
'----------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("E2")) Is Nothing Then Application.ScreenUpdating = False With Range("B4:BX400") .EntireRow.Hidden = False .AutoFilter field:=5, Criteria1:="<>" & Range("E2") Set Rg = Range("_FilterDataBase") Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count + 1) _ .SpecialCells(xlCellTypeVisible) .AutoFilter End With Rg.EntireRow.Hidden = True Application.ScreenUpdating = True End If End Sub '-----------------------------------
"Tibert" a écrit dans le message de groupe de discussion :
Bonjour à tous ; je viens vers chercher un peut d'aide pour faire une macro pour évoluer un tableau J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400) un code qui varie de 30 à 32 Comment faire la macro qui me permettrait, quand je met dans la cellule (E2) le code 30 cela me masque toutes les lignes du tableau sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste visible toutes les lignes 30
merci à vous et bonne journée
Bonjour,
Dans la feuille module où l'action se déroule, colle la macro suivante :
'-----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E2")) Is Nothing Then
Application.ScreenUpdating = False
With Range("B4:BX400")
.EntireRow.Hidden = False
.AutoFilter field:=5, Criteria1:="<>" & Range("E2")
Set Rg = Range("_FilterDataBase")
Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count + 1) _
.SpecialCells(xlCellTypeVisible)
.AutoFilter
End With
Rg.EntireRow.Hidden = True
Application.ScreenUpdating = True
End If
End Sub
'-----------------------------------
"Tibert" <syleg35@gmail.com> a écrit dans le message de groupe de discussion :
9846d70d-9f6b-4c1d-a809-c751d2fb1a90@j14g2000yqm.googlegroups.com...
Bonjour à tous ;
je viens vers chercher un peut d'aide pour faire une macro pour
évoluer un tableau
J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400)
un code qui varie de 30 à 32
Comment faire la macro qui me permettrait, quand je met dans la
cellule (E2) le code 30 cela me masque toutes les lignes du tableau
sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste
visible toutes les lignes 30
Dans la feuille module où l'action se déroule, colle la macro suivante :
'----------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("E2")) Is Nothing Then Application.ScreenUpdating = False With Range("B4:BX400") .EntireRow.Hidden = False .AutoFilter field:=5, Criteria1:="<>" & Range("E2") Set Rg = Range("_FilterDataBase") Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count + 1) _ .SpecialCells(xlCellTypeVisible) .AutoFilter End With Rg.EntireRow.Hidden = True Application.ScreenUpdating = True End If End Sub '-----------------------------------
"Tibert" a écrit dans le message de groupe de discussion :
Bonjour à tous ; je viens vers chercher un peut d'aide pour faire une macro pour évoluer un tableau J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400) un code qui varie de 30 à 32 Comment faire la macro qui me permettrait, quand je met dans la cellule (E2) le code 30 cela me masque toutes les lignes du tableau sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste visible toutes les lignes 30
merci à vous et bonne journée
Tibert
Bonsoir Garnot ; mille excuse, c'était ma colonne de code qui poser problème, je m'en suis aperçu en adaptant le code de michdenis Merci pour ton aide bonne soirée
On 14 déc, 17:30, "Garnote" wrote:
N'est-ce pas ce que fait ma macro ?!
Serge
"Tibert" a écrit dans le message de news:
Bonjour Garnot merci pour ton aide, mais je recherche plutôt la macro qui va me masquer tout sauf les ligne dont le code est en (E2) Bonne journée
On 14 déc, 15:45, "Garnote" wrote:
> Bonjour Tibert,
> Une piste : > Cette macro masque toutes les lignes de B5:BX400 > dont les valeurs en colonne F sont différentes de la > valeur de E2 : > Sub Masquer() > Application.ScreenUpdating = False > For i = 400 To 5 Step -1 > If Range("F" & i).Value <> Range("E2").Value Then _ > Range("F" & i).EntireRow.Hidden = True > Next i > Application.ScreenUpdating = True > End Sub
> Cette macro affiche toutes les lignes de B5:BX400 : > Sub Tout_Afficher() > Application.ScreenUpdating = False > For i = 400 To 5 Step -1 > Range("F" & i).EntireRow.Hidden = False > Next i > Application.ScreenUpdating = True > End Sub
> Serge
> "Tibert" a écrit dans le message de news: > > Bonjour à tous ; > je viens vers chercher un peut d'aide pour faire une macro pour > évoluer un tableau > J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400) > un code qui varie de 30 à 32 > Comment faire la macro qui me permettrait, quand je met dans la > cellule (E2) le code 30 cela me masque toutes les lignes du tableau > sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste > visible toutes les lignes 30
> merci à vous et bonne journée- Masquer le texte des messages préc édents -
- Afficher le texte des messages précédents -
Bonsoir Garnot ;
mille excuse, c'était ma colonne de code qui poser problème, je m'en
suis aperçu en adaptant le code de michdenis
Merci pour ton aide
bonne soirée
On 14 déc, 17:30, "Garnote" <garnote3ENLE...@videotron.ca> wrote:
N'est-ce pas ce que fait ma macro ?!
Serge
"Tibert" <syle...@gmail.com> a écrit dans le message de news:
21a5a623-d6a5-4a0e-8bb0-b52ec9012...@d10g2000yqh.googlegroups.com...
Bonjour Garnot
merci pour ton aide, mais je recherche plutôt la macro qui va me
masquer tout sauf les ligne dont le code est en (E2)
Bonne journée
On 14 déc, 15:45, "Garnote" <garnote3ENLE...@videotron.ca> wrote:
> Bonjour Tibert,
> Une piste :
> Cette macro masque toutes les lignes de B5:BX400
> dont les valeurs en colonne F sont différentes de la
> valeur de E2 :
> Sub Masquer()
> Application.ScreenUpdating = False
> For i = 400 To 5 Step -1
> If Range("F" & i).Value <> Range("E2").Value Then _
> Range("F" & i).EntireRow.Hidden = True
> Next i
> Application.ScreenUpdating = True
> End Sub
> Cette macro affiche toutes les lignes de B5:BX400 :
> Sub Tout_Afficher()
> Application.ScreenUpdating = False
> For i = 400 To 5 Step -1
> Range("F" & i).EntireRow.Hidden = False
> Next i
> Application.ScreenUpdating = True
> End Sub
> Serge
> "Tibert" <syle...@gmail.com> a écrit dans le message de news:
> 9846d70d-9f6b-4c1d-a809-c751d2fb1...@j14g2000yqm.googlegroups.com...
> Bonjour à tous ;
> je viens vers chercher un peut d'aide pour faire une macro pour
> évoluer un tableau
> J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400)
> un code qui varie de 30 à 32
> Comment faire la macro qui me permettrait, quand je met dans la
> cellule (E2) le code 30 cela me masque toutes les lignes du tableau
> sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste
> visible toutes les lignes 30
> merci à vous et bonne journée- Masquer le texte des messages préc édents -
Bonsoir Garnot ; mille excuse, c'était ma colonne de code qui poser problème, je m'en suis aperçu en adaptant le code de michdenis Merci pour ton aide bonne soirée
On 14 déc, 17:30, "Garnote" wrote:
N'est-ce pas ce que fait ma macro ?!
Serge
"Tibert" a écrit dans le message de news:
Bonjour Garnot merci pour ton aide, mais je recherche plutôt la macro qui va me masquer tout sauf les ligne dont le code est en (E2) Bonne journée
On 14 déc, 15:45, "Garnote" wrote:
> Bonjour Tibert,
> Une piste : > Cette macro masque toutes les lignes de B5:BX400 > dont les valeurs en colonne F sont différentes de la > valeur de E2 : > Sub Masquer() > Application.ScreenUpdating = False > For i = 400 To 5 Step -1 > If Range("F" & i).Value <> Range("E2").Value Then _ > Range("F" & i).EntireRow.Hidden = True > Next i > Application.ScreenUpdating = True > End Sub
> Cette macro affiche toutes les lignes de B5:BX400 : > Sub Tout_Afficher() > Application.ScreenUpdating = False > For i = 400 To 5 Step -1 > Range("F" & i).EntireRow.Hidden = False > Next i > Application.ScreenUpdating = True > End Sub
> Serge
> "Tibert" a écrit dans le message de news: > > Bonjour à tous ; > je viens vers chercher un peut d'aide pour faire une macro pour > évoluer un tableau > J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400) > un code qui varie de 30 à 32 > Comment faire la macro qui me permettrait, quand je met dans la > cellule (E2) le code 30 cela me masque toutes les lignes du tableau > sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste > visible toutes les lignes 30
> merci à vous et bonne journée- Masquer le texte des messages préc édents -
- Afficher le texte des messages précédents -
Tibert
Bonsoir michdenis merci ton code est vraiment super qu'es ce que tu pourrais me conseiller, toujours en utilisant ma liste déroulante pour ré-affiché toute les lignes, si c'est possible autrement j'ai fait un bouton macro pour utiliser le code de Garnote Sub Tout_Afficher() Application.ScreenUpdating = False For i = 400 To 5 Step -1 Range("F" & i).EntireRow.Hidden = False Next i Application.ScreenUpdating = True End Sub
merci pour ton aide et bonne soirée
On 14 déc, 17:30, "michdenis" wrote:
Bonjour,
Dans la feuille module où l'action se déroule, colle la macro suivant e :
'----------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("E2")) Is Nothing Then Application.ScreenUpdating = False With Range("B4:BX400") .EntireRow.Hidden = False .AutoFilter field:=5, Criteria1:="<>" & Range("E2") Set Rg = Range("_FilterDataBase") Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count + 1) _ .SpecialCells(xlCellTypeVisible) .AutoFilter End With Rg.EntireRow.Hidden = True Application.ScreenUpdating = True End If End Sub '-----------------------------------
"Tibert" a écrit dans le message de groupe de discu ssion :
Bonjour à tous ; je viens vers chercher un peut d'aide pour faire une macro pour évoluer un tableau J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400) un code qui varie de 30 à 32 Comment faire la macro qui me permettrait, quand je met dans la cellule (E2) le code 30 cela me masque toutes les lignes du tableau sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste visible toutes les lignes 30
merci à vous et bonne journée
Bonsoir michdenis
merci ton code est vraiment super
qu'es ce que tu pourrais me conseiller, toujours en utilisant ma liste
déroulante pour ré-affiché toute les lignes, si c'est possible
autrement j'ai fait un bouton macro pour utiliser le code de Garnote
Sub Tout_Afficher()
Application.ScreenUpdating = False
For i = 400 To 5 Step -1
Range("F" & i).EntireRow.Hidden = False
Next i
Application.ScreenUpdating = True
End Sub
merci pour ton aide et bonne soirée
On 14 déc, 17:30, "michdenis" <michde...@hotmail.com> wrote:
Bonjour,
Dans la feuille module où l'action se déroule, colle la macro suivant e :
'-----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E2")) Is Nothing Then
Application.ScreenUpdating = False
With Range("B4:BX400")
.EntireRow.Hidden = False
.AutoFilter field:=5, Criteria1:="<>" & Range("E2")
Set Rg = Range("_FilterDataBase")
Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count + 1) _
.SpecialCells(xlCellTypeVisible)
.AutoFilter
End With
Rg.EntireRow.Hidden = True
Application.ScreenUpdating = True
End If
End Sub
'-----------------------------------
"Tibert" <syle...@gmail.com> a écrit dans le message de groupe de discu ssion :
9846d70d-9f6b-4c1d-a809-c751d2fb1...@j14g2000yqm.googlegroups.com...
Bonjour à tous ;
je viens vers chercher un peut d'aide pour faire une macro pour
évoluer un tableau
J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400)
un code qui varie de 30 à 32
Comment faire la macro qui me permettrait, quand je met dans la
cellule (E2) le code 30 cela me masque toutes les lignes du tableau
sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste
visible toutes les lignes 30
Bonsoir michdenis merci ton code est vraiment super qu'es ce que tu pourrais me conseiller, toujours en utilisant ma liste déroulante pour ré-affiché toute les lignes, si c'est possible autrement j'ai fait un bouton macro pour utiliser le code de Garnote Sub Tout_Afficher() Application.ScreenUpdating = False For i = 400 To 5 Step -1 Range("F" & i).EntireRow.Hidden = False Next i Application.ScreenUpdating = True End Sub
merci pour ton aide et bonne soirée
On 14 déc, 17:30, "michdenis" wrote:
Bonjour,
Dans la feuille module où l'action se déroule, colle la macro suivant e :
'----------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("E2")) Is Nothing Then Application.ScreenUpdating = False With Range("B4:BX400") .EntireRow.Hidden = False .AutoFilter field:=5, Criteria1:="<>" & Range("E2") Set Rg = Range("_FilterDataBase") Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count + 1) _ .SpecialCells(xlCellTypeVisible) .AutoFilter End With Rg.EntireRow.Hidden = True Application.ScreenUpdating = True End If End Sub '-----------------------------------
"Tibert" a écrit dans le message de groupe de discu ssion :
Bonjour à tous ; je viens vers chercher un peut d'aide pour faire une macro pour évoluer un tableau J'ai un tableau de données de (B5:BX400), j'ai en colonne (F5:F400) un code qui varie de 30 à 32 Comment faire la macro qui me permettrait, quand je met dans la cellule (E2) le code 30 cela me masque toutes les lignes du tableau sur la plage (B5:BX400) lignes dont le code est 31,32, pour que reste visible toutes les lignes 30
merci à vous et bonne journée
michdenis
Pour afficher toutes les lignes, ceci serait suffisant :
'--------------------------- Sub Tout_Afficher() With worksheets("Feuil1") 'Nom à adapter .Range("B4:BX400").entirerow.hidden = false End With End Sub '---------------------------
Mais si tu le désires, tu peux tout regrouper dans la même procédure que la précédente en la modifiant un peu
Si en E2, tu inscris "tout", toutes les lignes seront affichées si en E2, tu incris "Rien", toutes les lignes seront masquées. si tu inscris 30 ou 31 ou 32, seules les lignes dont le numéro est inscris en E2, seront affichées.
'------------------------------------ Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("E2")) Is Nothing Then Application.ScreenUpdating = False Select Case LCase(Range("E2")) Case Is = "tout" Range("B4:BX400").EntireRow.Hidden = False Case Is = "rien" Range("B4:BX400").EntireRow.Hidden = True Case 30, 31, 32 With Range("B4:BX400") .EntireRow.Hidden = False .AutoFilter field:=5, Criteria1:="<>" & Range("E2") Set Rg = Range("_FilterDataBase") Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count + 1) _ .SpecialCells(xlCellTypeVisible) .AutoFilter End With Rg.EntireRow.Hidden = True Application.ScreenUpdating = True End Select End If End Sub '------------------------------------
Pour afficher toutes les lignes, ceci serait suffisant :
'---------------------------
Sub Tout_Afficher()
With worksheets("Feuil1") 'Nom à adapter
.Range("B4:BX400").entirerow.hidden = false
End With
End Sub
'---------------------------
Mais si tu le désires, tu peux tout regrouper dans la même procédure
que la précédente en la modifiant un peu
Si en E2, tu inscris "tout", toutes les lignes seront affichées
si en E2, tu incris "Rien", toutes les lignes seront masquées.
si tu inscris 30 ou 31 ou 32, seules les lignes dont le numéro
est inscris en E2, seront affichées.
'------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E2")) Is Nothing Then
Application.ScreenUpdating = False
Select Case LCase(Range("E2"))
Case Is = "tout"
Range("B4:BX400").EntireRow.Hidden = False
Case Is = "rien"
Range("B4:BX400").EntireRow.Hidden = True
Case 30, 31, 32
With Range("B4:BX400")
.EntireRow.Hidden = False
.AutoFilter field:=5, Criteria1:="<>" & Range("E2")
Set Rg = Range("_FilterDataBase")
Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count + 1) _
.SpecialCells(xlCellTypeVisible)
.AutoFilter
End With
Rg.EntireRow.Hidden = True
Application.ScreenUpdating = True
End Select
End If
End Sub
'------------------------------------
Pour afficher toutes les lignes, ceci serait suffisant :
'--------------------------- Sub Tout_Afficher() With worksheets("Feuil1") 'Nom à adapter .Range("B4:BX400").entirerow.hidden = false End With End Sub '---------------------------
Mais si tu le désires, tu peux tout regrouper dans la même procédure que la précédente en la modifiant un peu
Si en E2, tu inscris "tout", toutes les lignes seront affichées si en E2, tu incris "Rien", toutes les lignes seront masquées. si tu inscris 30 ou 31 ou 32, seules les lignes dont le numéro est inscris en E2, seront affichées.
'------------------------------------ Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("E2")) Is Nothing Then Application.ScreenUpdating = False Select Case LCase(Range("E2")) Case Is = "tout" Range("B4:BX400").EntireRow.Hidden = False Case Is = "rien" Range("B4:BX400").EntireRow.Hidden = True Case 30, 31, 32 With Range("B4:BX400") .EntireRow.Hidden = False .AutoFilter field:=5, Criteria1:="<>" & Range("E2") Set Rg = Range("_FilterDataBase") Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count + 1) _ .SpecialCells(xlCellTypeVisible) .AutoFilter End With Rg.EntireRow.Hidden = True Application.ScreenUpdating = True End Select End If End Sub '------------------------------------