Microsoft 365 Macro masquer des lignes

  • Initiateur de la discussion Initiateur de la discussion Céline49
  • 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 !

Céline49

XLDnaute Junior
Bonjour,
J'aurais besoin d'un peu d'aide sur une macro.
Je souhaite masquer les lignes 12 à 19 lorsque la cellule B3 = Trimestrielle. Si la cellule B3= Mensuelle, alors conserver toutes les lignes existantes.
Ma macro ne s'exécute pas pas et je n'ai pas de message d'erreur, je ne sais pas d'où provient le problème.
Quelqu'un pourrait-il m'aider?
Un grand merci par avance pour l'aide apportée
 

Pièces jointes

Solution
Bonjour,

Une proposition :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
'
    If Target.Address = "$B$3" And Target.Value = "Trimestrielle" Then
        Rows("12:19").EntireRow.Hidden = True
    Else
        Rows("12:19").EntireRow.Hidden = False
    End If

End Sub
Bonjour Céline49 🙂
Peut-être comme ça :
code dans la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If [b3] = "Trimestrielle" Then
Rows("12:19").RowHeight = 0
Else
Rows("12:19").RowHeight = 19.5
End If
End Sub
Affiche ou masque les lignes selon que vous sélectionnez "Mensuelle" ou Trimestrielle"
Fichier joint,
lionel 🙂
 

Pièces jointes

Bon mon problème doit venir d'ailleurs car quand je ne recopie sur mon bon fichier, cela ne fonctionne pas. En fait je n'ai pas le bouton activé la macro alors que mon fichier est bien enregistré sous format "classeur excel (prenant en charge les macros)"
 
La macro que je t'ai proposée se met dans la feuille concernée et non dans un module. 😉

Remarque : je ne te conseille pas la macro de #4 car elle va s'exécuter à chaque modification du contenu d'une cellule de la feuille et en plus elle risque de modifier la hauteur de tes lignes.

[edit]
En fait, c'est surtout la macro de #2 que je te déconseille car elle ne fait pas le boulot correctement !
[/edit]
 
Dernière édition:
Pas facile à expliquer...
Je dirais que les macros qui sont dans les modules peuvent être appelées de n'importe où.
En revanche, les PRIVATE sub des feuilles ne peuvent être appelées que dans la feuille.

Ici on utilise la macro Worksheet_Change.
Elle sera exécutée quand le contenu d'une cellule de la feuille dans laquelle se trouve la macro changera.
 
Hello Marcel Bon jour :
"Remarque : je ne te conseille pas la macro de #4 car elle va s'exécuter à chaque modification du contenu d'une cellule de la feuille et en plus elle risque de modifier la hauteur de tes lignes."

Tu as testé le fichier ?
lionel 🙂
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 Excel - Macro
Réponses
14
Affichages
526
Réponses
7
Affichages
552
Retour