XL 2013 Sélectionner toutes les lignes commençant par la même valeur et masquer les lignes

goninph

XLDnaute Nouveau
Bonjour,

Voici ma demande :

Dans la colonne A (de 1 à 999) j'ai différentes valeurs dont 2 valeurs precises:
#MOD
#NI
Le but recherché est :
Sélectionner toutes les lignes ayant les valeurs #Ni & #MOD dans la colonne A.
La macro doit afficher ou démasquer toutes les lignes.
Ensuite, la macro doit sélectionner toutes les lignes ayant les valeurs #Ni dans la colonne A et masquer toutes les lignes sélectionnées.

Voilà rien de compliqué, mais je ne comprends pas très bien les boucles vba

Merci pour votre aide et excellente soirée
Philippe
 

Victor21

XLDnaute Barbatruc
Re : Sélectionner toutes les lignes commençant par la même valeur et masquer les lign

Bonsoir, Philippe.

Nul besoin de macro pour cela : le filtre (outil intégré) le fait très bien.
Par contre, un extrait de votre fichier, court mais représentatif, serait apprécié de ceux qui souhaiteraient s'y coller :)
 

DoubleZero

XLDnaute Barbatruc
Re : Sélectionner toutes les lignes commençant par la même valeur et masquer les lign

Bonjour, goninph, Victor21 :D, le Forum,

:confused:

Je ne comprends pas ceci :

... Sélectionner toutes les lignes ayant les valeurs #Ni & #MOD dans la colonne A.
La macro doit afficher ou démasquer toutes les lignes...

suivi de cela :

...Ensuite, la macro doit sélectionner toutes les lignes ayant les valeurs #Ni dans la colonne A et masquer toutes les lignes sélectionnées...



un extrait de votre fichier, court mais représentatif, serait apprécié de ceux qui souhaiteraient s'y coller

Lu et appr:)uvé !

A bientôt :)
 

goninph

XLDnaute Nouveau
Re : Sélectionner toutes les lignes commençant par la même valeur et masquer les lign

Hello,

Voici le fichier :

Le but rechercher avec un bouton à bascule est d'afficher Planification MOD ou Planification NI
Pour cela 2 macro sont nécessaire

Macro Planification MOD
... Sélectionner toutes les lignes ayant les valeurs #Ni & #MOD dans la colonne A.
La macro doit afficher ou démasquer toutes les lignes...

Si un des 2 groupes est déjà masquer, il faut tout afficher

...Ensuite, la macro doit sélectionner toutes les lignes ayant les valeurs #Ni dans la colonne A et masquer toutes les lignes sélectionnées...
Toutes les lignes du groupe #Ni sont masquée, reste plus que le groupe de lignes Planification MOD

et inversement pour la deuxième macro

Comme vous aurez pu le constater les numéros de lignes peuvent changer lorsque lon clique sur insérer un commentaire

Merci de votre aide A+

Philippe
 

Pièces jointes

  • Suivi et passation du projet masquer NI MOD.xlsm
    263.9 KB · Affichages: 35

goninph

XLDnaute Nouveau
Re : Sélectionner toutes les lignes commençant par la même valeur et masquer les lign

Hello,

J'ai trouvé :

Sub Afficher_planification_MOD() ' Affiche la planification MOD

Dim cellule As Range

Application.ScreenUpdating = False ' Désactive le changement des pages à l'écran lors de l'éxécution de la macro

ActiveSheet.Unprotect

'Affiche la planification MOD
Range("A1:A100").Select
For Each cellule In Selection
If cellule.Text = "#MOD" Then cellule.EntireRow.Hidden = False
Next cellule
'Masque la planification NI
Range("A1:A100").Select
For Each cellule In Selection
If cellule.Text = "#NI" Then cellule.EntireRow.Hidden = True
Next cellule

'Ouvrir le gestionnaire de nom CTRL+F3 pour supprimer un nom de cellule

Range("NI_ou_MOD").Select
ActiveCell.FormulaR1C1 = "MOD"
Range("G19").Select

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowInsertingRows:=True, AllowDeletingRows:=True, AllowSorting:=True, _
AllowFiltering:=True


Application.ScreenUpdating = True ' Résactive le changement des pages à l'écran lors de l'éxécution de la macro

End Sub


Sub Afficher_planification_NI() ' Affiche la planification NI

Dim cellule As Range

Application.ScreenUpdating = False ' Désactive le changement des pages à l'écran lors de l'éxécution de la macro

ActiveSheet.Unprotect

'Affiche la planification NI
Range("A1:A100").Select
For Each cellule In Selection
If cellule.Text = "#NI" Then cellule.EntireRow.Hidden = False
Next cellule
'Masque la planification MOD
Range("A1:A100").Select
For Each cellule In Selection
If cellule.Text = "#MOD" Then cellule.EntireRow.Hidden = True
Next cellule

'Ouvrir le gestionnaire de nom CTRL+F3 pour suprimer un nom de cellule

Range("NI_ou_MOD").Select
ActiveCell.FormulaR1C1 = "NI"
Range("G19").Select

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowInsertingRows:=True, AllowDeletingRows:=True, AllowSorting:=True, _
AllowFiltering:=True


Application.ScreenUpdating = True ' Résactive le changement des pages à l'écran lors de l'éxécution de la macro

End Sub
 

Discussions similaires

Réponses
26
Affichages
794