Masquer lignes Excel suivant critères

Bonjour à tous,

Je débute en VBA, j'ai essayé d'adapter des codes trouvés sur le forum mais rien ne marche.

Vous pouvez trouver en PJ un bout du fichier excel que je dois traiter

Je voudrais masquer les lignes dont la valeur en colonne L=7

Ensuite ou avant à voir ce qui est plus facile à traiter

Je voudrais masquer des lignes (par ex 39,40,41, 42,43 et 49) car l'ensemble des mesures du risque ont une valeur 7

Si il y a une autre valeur (1à5) je veux garder ces lignes affichés.

De plus je veux garder les titres ainsi que les explications quel que soit le résultat des mesures.

Le nombre de risque varie ainsi que le nombre de mesures aussi.

Le fichier fait à peu pres 2000 lignes

J’espère que je suis clair dans mes explications

J’espère que vous allez pouvoir m'aider à mettre ça en pratique.

En ce moment je le fait à la main et c'est vraiment galère!!!

Je vous remercie d'avance pour le temps consacré et pour votre partage d’expérience et de connaissances

21test-macro-2.xlsx (15.81 Ko)

Bonjour.

Avec une routine vba associé à un bouton :

  • cachez les lignes dont les éléments ne satisfont pas aux critères définis ;
  • imprimez, les lignes cachées n'apparaîtront pas dans une impression standard ;
  • faites réapparaître les lignes cachées.

Bonjour

Pour masquer les lignes ayant le chiffre 7 en colonne L

Sub MasqueLignes()
Dim DerLig As Long
Application.ScreenUpdating = False

DerLig = Range("A" & Rows.Count).End(xlUp).Row
    For i = DerLig To 15 Step -1
    If Cells(i, "L") = 7 Then Rows(i).Hidden = True
    Next
End Sub

Pour ré-afficher toutes les lignes

Sub AfficheLignes()
Cells.EntireRow.Hidden = False
End Sub

Par contre, je ce comprends pas ce que tu entends par

guss59 a écrit :

Ensuite ou avant à voir ce qui est plus facile à traiter

Je voudrais masquer des lignes (par ex 39,40,41, 42,43 et 49) car l'ensemble des mesures du risque ont une valeur 7

Si il y a une autre valeur (1à5) je veux garder ces lignes affichés.

Amicalement

Nad

Bonjour Nad,

Merci pour les infos

effectivement mon discours n'est pas très compréhensif

je te joins le fichier avec un onglet avec le résultat que j'aimerais obtenir avec le résultat de la macro ou les macros

sachant que des titres en bleu j'en ai une quarantaine et que tout varie dans mon fichier

la seule chose fixe est le résultat de la colonne L

si il faut baliser les autres lignes dans une colonne type z cela ne me pose aucun soucis

d'avance un grand merci pour votre aide.

je pourrais tester tout ceci, ce soir.

je suis dans ma voiture avec le pc sur les genoux ce n'est pas facile de tester des macros dans cesconditions

19test-macro-3.xlsx (21.57 Ko)

Re

J'ai ajouté des formules en colonne M

Elles affichent 0 ou 7 (si ça te convient, tu peux passer la police en blanc)

Nad

Merci Nad,

Tu es le meilleur, tu as exactement compris ce que je voulais.

Je vais gagner pres de 5 heures de travail par mois

Merci beaucoup

Ayant goûter avec beaucoup de joie les macros que tu m'as créé.

Serait il possible de couper/coller les mesures qui sont dans les lignes de la colonne A en colonne G si la cellule de la ligne en colonne L est égale à 1, 2, 3, 4 ou 5

Merci d'avance

Bonsoir

Remplace la macro

Sub MasqueLignes()
Dim DerLig As Integer, i As Integer
Application.ScreenUpdating = False

DerLig = Range("A" & Rows.Count).End(xlUp).Row
    For i = DerLig To 9 Step -1

    If Cells(i, "L") = 7 Or Cells(i, "M") = 7 Then Rows(i).Hidden = True
    If Cells(i, "L") > 0 And Cells(i, "L") < 6 Then
    Range(Cells(i, "A"), Cells(i, "E")).Copy Cells(i, "G")
    Range(Cells(i, "A"), Cells(i, "E")).ClearContents
    End If
    Next i
End Sub

Amicalement

Nad

Merci beaucoup

tu me fais gagner un temps très précieux

Nad,

comme tu es le meilleur et que je me rends compte que mes infos n'était pas bonne

j'ai un petit soucis avec le dernier ajout

en effet si la colonne A est vide, il ne faudrait pas copier coller

Ensuite, je ne sais pas si cela sera possible

ce serait de copier toutes les mesures de la colonne G dans l’ordre des priorités

d'abord toutes les priorités 1, on passe une ligne, les priorités 2 puis une ligne et ainsi de suite jusque 4

et les coller à partir d'aujourd'hui la cellule B2107, sachant que cette cellule peut bouger car je rajoute constamment des lignes

Merci encore beaucoup pour l'aide que tu me fournis

Bonjour,

Je voudrais faire encore un ajout si la colonne G a déjà quelque chose d'inscrit dedans, il ne faut pas couper coller les infos qui se trouve dans la colonne A

Merci d'avance pour toute l'aide précieuse que vous m'offrez

Rechercher des sujets similaires à "masquer lignes suivant criteres"