Macro Excel - Masquer certaines lignes [Résolu/Fermé]

Signaler
Messages postés
2
Date d'inscription
mardi 14 février 2012
Statut
Membre
Dernière intervention
14 février 2012
-
Messages postés
2
Date d'inscription
mardi 14 février 2012
Statut
Membre
Dernière intervention
14 février 2012
-
Bonjour à tous

je suis novice en macro excel et j'ai un soucis. En fait, j'ai un metré et j'aimerais masquer/afficher certaines lignes.

Le metré comportant presque 1000 lignes, je n'ai pas envie de déclarer chaque ligne à masquer en fonction de sa valeur et je me suis dit que créer une colonne A avec une fonction en formule pour les lignes qui m'intéressent devraient fonctionner.

Seulement, ça ne fonctionne pas, et je ne vois pas pourquoi :S.

Public Function Masquage(ByVal Ligne As Integer)
 
Range("A" & Ligne).EntireRow.Hidden = True
MsgBox Ligne

End Function


et dans les celulles en colonne A, je mets

=SI(G398=0;Masquage(LIGNE());"")


le problème étant qu'en cellule A, il me met un résultat de 0 (car G398 est =0).

Il affiche correctement le n° de la ligne dans la MsgBox. Mais ne masque pas la cellule.



2 réponses

Messages postés
9500
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
13 juillet 2020
1 859
bonjour

je crois que ton problème vient du fait que l'objet d'une "function" est de renvoyer un résultat, elle ne peut pas modifier l'aspect de la feuille
il te faudra créer une "sub" et dététerminer quel évènement va déclencher son exécution
un exemple à activer avec un raccourci clavier masque la ligne de la cellule active

Public Sub masquer()   
With ActiveCell   
  .EntireRow.Hidden = True   
End With   
End Sub

bonne suite
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60322 internautes nous ont dit merci ce mois-ci

Messages postés
2
Date d'inscription
mardi 14 février 2012
Statut
Membre
Dernière intervention
14 février 2012

Si ça vient de là, je n'aurais pu le trouver.

Un grand merci