macro cachant des lignes ne marche pas

  • Initiateur de la discussion Initiateur de la discussion ama.mau
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

ama.mau

Guest
hello, cette macro ne marche pas et je ne comprends pas pourquoi :

Function cacher()
Call feuil2.masquer1
cacher = True
End Function
Function montrer()
Call feuil2.afficher1
montrer = True
End Function


Sub masquer1()
ActiveSheet.Rows('71:75').Select
Selection.EntireRow.Hidden = True
Application.ScreenUpdating = True
End Sub

Sub afficher1()
ActiveSheet.Rows('71:75').Select
Selection.EntireRow.Hidden = False
Application.ScreenUpdating = True
End Sub
 
Bonjour,

Bizarre cette manière de faire avec des macros Function:sick: . Je suppose que tu pris cela d'un autre fichier ?

Dis moi plutôt quel est le critère pour cacher les lignes et la plage dans laquelle tu veux le faire.

😉
 
En fait il s'agit sur un critère conditionnel de cacher ou non un ceratain nombre de lignes

exemple :

=SI(F70=1;cacher();montrer())

voila, mais les macro ne marchent pas, je n'ai pas d'erreur à l'éxecution... bizarre!

Comment ferais tu ?

merci A+
 
Bonjour Dan ama.mau,
Macro évènementielle dans le Private Module de la Feuille en Question :
Soit la cellule 'A1' est modifiée par Saisie (ou par Macro)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = '$A$1' Then
If Me.Range('A1') = 100 Then
MsgBox '100 en A1'
Else
MsgBox 'Pas 100 en A1'
End If
End If
End Sub

Soit la cellule 'A1' est modifiée par Formule

Private Sub Worksheet_Calculate()
If Me.Range('A1') = 100 Then
MsgBox '100 en A1'
Else
MsgBox 'Pas 100 en A1'
End If
End Sub

A noter que les deux pourraient être mises dans le Private Module de la Feuille au cas où...
PS le Private Module de la Feuille est accessible en cliquant sur le Click Droit de ta souris lorsque que tu pointes sur l'onglet de la dîte feuille, et dans le menu contextuel qui va s'ouvrir tu choisis 'Visualiser le Code', un Private Module VBA va automatiquement surgir et c'est dans ce module que tu copiera le code.
If Target.Address = '$A$1' Then
If Me.Range('A1') = 100 Then
Modifier la référence de cellule et la valeur de celle-ci.
 
Bonsoir,

:sick: Ben ama.mau, je dois avoir raté un épisode car je ne vois vraiment pas comment tu arrives à cacher ou montrer tes lignes avec la macro de Marc.

Mais bon tu es servi c'est le principal.

Sinon un fil qui peut te servir : Lien supprimé. La macro agit sur toutes les feuilles du classeur.

😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour