Pb avec fonction pour masquer des lignes

Bonjour!

J'ai une fonction pour masquer des lignes, mais j'ai un bug:

Function masque(lignes As Rows)
Sheets("Résultat").lignes.Hidden = True
End Function

(Je ne suis pas sur du type du paramètre)

Je l'appel ici entre autre :

masque (Rows("4:" & FindDerLigne()))

(FindDerLigne() renvoi le numero d'une ligne)

Que dois-je faire pour que ça marche?

Cdt.

Bonjour

Ne connaissant pas ton fichier (ni tes macros)

Essayes

FindDerLigne te renvoit un numéro de ligne ?

Function masque(lignes As Long)
  Sheets("Résultat").Range("A4:A" & lignes).EntireRow.Hidden = True
End Function

Sub test()
  masque FindDerLigne
End Sub

Merci,

mais moi ce que je souhaite faire c'est passer en paramètre toute la range :

Range("A4:A" & lignes)

car la fonction je l'appel également ici :

masque (Rows(ligne + 1))

Cdt.

Bonjour

Transmets ton fichier car je suis out

Un autre essai

Function masque(lignes As Range)
  Sheets("Résultat").Rows(lignes.Address).Hidden = True
End Function

Sub test()
  masque Rows("8:14")
  masque Rows(21)
  Rows.Hidden = False
End Sub

Re,

Cela ne marche pas non plus. Je me demande si je devrai pas laisser tomber et mettre mes .Hidden dans mon code directement.

Bonjour,

A placer dans un module:

Sub Test()

Dim Plage As Range

FindDerLigne = Range("A65536").End(xlUp).Offset(1, 0).Row - 1  ' c'était pour tester, ne sachant pas comment tu obtiens ton FindDerLigne
Set Plage = Worksheets("Résultat").Range("A4:A" & FindDerLigne)
Call Masque(Plage)

End Sub

Sub Masque(Plage As Range)

Plage.EntireRow.Hidden = True

End Sub

Enfin si j'ai bien compris la problématique.

Cordialement.

Merci pour vos réponses. J'ai abandonner l'idée.

Cordialement.

Prends au moins le temps de tester le code fourni, histoire de ne pas avoir l'impression d'avoir fais des tests pour rien

Cordialement.

Tu as raison... et ça marche en plus!

Mais selon vous cette fonction est utile ou pas? Sachant que dans mes macro je fais beaucoup appel à .hidden.

Honnêtement, faire une fonction où il faut 2 lignes pour définir l'argument et appeler la fonction, pour 1 ligne de code de fonction, autant mettre tes Hidden directement la où tu les utilises.

Une fonction est utile pour un traitement récurent afin d'éviter de retaper le code partout et alléger le fichier et les traitements, surtout qu'elle est appellable de partout directement. Mais la tu n'allège pas le fichier vu que tu utilises plus de code pour appeller la fonction qu'elle n'en contient elle-même.

Enfin je ne suis pas un professionnel non plus, mais dans le cas présent, je n'en vois pas l'intérêt, à part t'avoir fait t'entrainer et progresser en vba en recherchant une solution

Cordialement,

Je suis d'accord avec toi, merci encore!

A bientôt je vais surement par tarder à poster un autre problème...

Cdt.

Rechercher des sujets similaires à "fonction masquer lignes"