Masquer des colonnes en fonction du contenu d'une celluele
Fermé
roukili
Messages postés
17
Date d'inscription
vendredi 5 juin 2015
Statut
Membre
Dernière intervention
6 juillet 2015
-
6 juil. 2015 à 11:23
ccm81 Messages postés 10543 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 18 mars 2023 - 6 juil. 2015 à 16:16
ccm81 Messages postés 10543 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 18 mars 2023 - 6 juil. 2015 à 16:16
A voir également:
- Masquer des colonnes en fonction du contenu d'une celluele
- Appeler en masqué - Guide
- Déplacer une colonne excel - Guide
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule ✓ - Forum Excel
- Masquer conversation whatsapp - Guide
- Fonction si et - Guide
5 réponses
cs_Le Pivert
Messages postés
7883
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 mars 2023
724
6 juil. 2015 à 12:11
6 juil. 2015 à 12:11
Re bonjour,
Inspire toi de ce site:
https://excel.developpez.com/actu/47690/Boucles-pour-parcourir-une-colonne-une-ligne-une-plage-de-donnees-deux-nouvelles-methodes/
Inspire toi de ce site:
https://excel.developpez.com/actu/47690/Boucles-pour-parcourir-une-colonne-une-ligne-une-plage-de-donnees-deux-nouvelles-methodes/
ccm81
Messages postés
10543
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
18 mars 2023
2 336
Modifié par ccm81 le 6/07/2015 à 15:14
Modifié par ccm81 le 6/07/2015 à 15:14
Bonjour
Un (autre) exemple
http://www.cjoint.com/c/EGgnhtL82og
Ctrl+k pour masquer
Ctrl+r pour "démasquer"
Cdlmnt
Un (autre) exemple
http://www.cjoint.com/c/EGgnhtL82og
Ctrl+k pour masquer
Ctrl+r pour "démasquer"
Cdlmnt
roukili
Messages postés
17
Date d'inscription
vendredi 5 juin 2015
Statut
Membre
Dernière intervention
6 juillet 2015
6 juil. 2015 à 15:14
6 juil. 2015 à 15:14
merci pour cet exemple mais j'ai pas accès à ce site je vous remercie d'avance de me recopier le code
cs_Le Pivert
Messages postés
7883
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 mars 2023
724
6 juil. 2015 à 15:14
6 juil. 2015 à 15:14
Suivant l'exemple donné sur le site:
Sub For_Each_Next_Plage()
Dim FL1 As Worksheet, Cell As Range, Plage As Range, NoCol As Integer, NoLig As Long
Dim Var1
Set FL1 = Worksheets("Feuil1")
With FL1
'ou en utilisant l'objet Plage (range) de la plage
Set Plage = .Range("K17:DE88")
For Each Cell In Plage
'Valeur de la cellule lue
Var1 = Cell.Value
If Var1 = "DE" Then
NoCol = Cell.Column
NoLig = Cell.Row
Rows(NoLig).EntireRow.Hidden = False 'Et si oui, on affichie
Columns(NoCol).EntireColumn.Hidden = False 'Et si oui, on affichie
End If
Next
End With
Set FL1 = Nothing
Set Plage = Nothing
End Sub
ccm81
Messages postés
10543
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
18 mars 2023
2 336
Modifié par ccm81 le 6/07/2015 à 15:55
Modifié par ccm81 le 6/07/2015 à 15:55
Oups, j'ai mal lu !!
http://www.cjoint.com/c/EGgnZdVdjsg
Ctrl+m pour lancer la macro
Cdlmnt
http://www.cjoint.com/c/EGgnZdVdjsg
Ctrl+m pour lancer la macro
Cdlmnt
roukili
Messages postés
17
Date d'inscription
vendredi 5 juin 2015
Statut
Membre
Dernière intervention
6 juillet 2015
6 juil. 2015 à 15:57
6 juil. 2015 à 15:57
mon réseau bloque le lien c'est pourquoi je vous demande de m'envoyer le code de la macro
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ccm81
Messages postés
10543
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
18 mars 2023
2 336
6 juil. 2015 à 16:01
6 juil. 2015 à 16:01
Const plage = "C2:M30" Const valeur = "DE" Public Sub RAZ() Range(plage).Rows.Hidden = False Range(plage).Columns.Hidden = False End Sub Public Sub Masquer() Dim obj As Object, tadr, li As Long, co As Long, plage2 As Range Dim nbli As Long, nbco As Long, coco As String, adr As String, lili As Long nbli = Range(plage).Rows.Count nbco = Range(plage).Columns.Count For li = 1 To nbli adr = Range(plage).Cells(li, 1).Address lili = Split(adr, "$")(2) Set plage2 = Range(plage).Rows(li) Set obj = plage2.Find(valeur, , , xlWhole) If obj Is Nothing Then Rows(lili).Hidden = True Next li For co = 1 To nbco adr = Range(plage).Cells(1, co).Address coco = Split(adr, "$")(1) Set plage2 = Range(plage).Columns(co) Set obj = plage2.Find(valeur, , , xlWhole) If obj Is Nothing Then Columns(coco).Hidden = True Next co End Sub
Cdlmnt
ccm81
Messages postés
10543
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
18 mars 2023
2 336
Modifié par ccm81 le 6/07/2015 à 16:19
Modifié par ccm81 le 6/07/2015 à 16:19
Et en un peu plus court
Const NF = "Feuil1"
Const plage = "C2:M30"
Const valeur = "DE"
Public Sub RAZ()
Range(plage).Rows.Hidden = False
Range(plage).Columns.Hidden = False
End Sub
Public Sub Masquer()
Dim obj As Object, li As Long, co As Long, plage2 As Range, nbli As Long, nbco As Long
With Sheets(NF).Range(plage)
nbli = .Rows.Count
nbco = .Columns.Count
For li = 1 To nbli
Set plage2 = .Rows(li)
Set obj = plage2.Find(valeur, , , xlWhole)
If obj Is Nothing Then .Rows(li).Hidden = True
Next li
For co = 1 To nbco
Set plage2 = .Columns(co)
Set obj = plage2.Find(valeur, , , xlWhole)
If obj Is Nothing Then .Columns(co).Hidden = True
Next co
End With
End Sub
6 juil. 2015 à 14:34
j'ai regardé le lien mais comme je suis un débutant en VB je comprends pas trop comment faire la fonction inverse de la fonction que j'ai décrie au dessus CàD: masquer les colonnes dont les cellule appartenant à la plage de donnée K17:DE88 si elles ne contiennes pas une valeur donnée "X"