Macro pour cacher des lignes en fonction du résultat

  • Initiateur de la discussion Initiateur de la discussion Benjy51190
  • 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 !

Benjy51190

XLDnaute Nouveau
Bonjour à tous et merci de lire mon sujet;

Je cherche comment effectuer une macro, qui me permettrai de cacher des lignes selon le résultat obtenu.

- Pour être plus précis, mes lignes vont de 6 à 1002
- le résultat de chaque ligne est dans la colonne X ( et correspond à chaque fois au numéro de la ligne)

Je souhaiterai que lorsque le résultat est supérieur ou égale à 18, ces lignes en question soit cachées.

Il me faudrait aussi une macro qui me permettrai d'annuler cette macro précédente, au cas ou j'ai besoin de faire apparaitre ces fameuses lignes.

Je vous remercie beaucoup pour votre aide.
Bonne soirée
 
Bonjour eriiiic 🙂, benjy 🙂

Il n'y a que des zéros dans la colonne. 🙄 Et tu aurais pu faire juste un copié-collé d'une feuille dans un nouveau classeur. Sinon, d'après ce que j'ai compris, à mettre dans le module de ThisWorkbook

VB:
Option Explicit

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim lig As Long

    Application.EnableEvents = False
    Application.ScreenUpdating = False

    If Not Intersect(Target, Range("x6:x65536")) Is Nothing And Target.Count = 1 Then

        With ActiveSheet
            For lig = 6 To .Cells(Rows.Count, "X").End(xlUp).Row
                If .Cells(lig, "X").Value >= 18 Then .Rows(lig).Hidden = True
            Next lig
        End With

    End If
    Application.EnableEvents = True
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim lig As Long

    Application.ScreenUpdating = False

    If Not Intersect(Target, Range("z6:z65536")) Is Nothing And Target.Count = 1 Then

        With ActiveSheet
            For lig = 6 To .Cells(Rows.Count, "X").End(xlUp).Row
                If .Rows(lig).Hidden = True Then .Rows(lig).Hidden = False
            Next lig
        End With
    End If
End Sub
 
Dernière édition:
Bonjour et merci pour votre travail.
cela fait plusieurs jours que j'essai, mais je ne suis surement pas assez familiarisé avec le module VBA: j'ai "l'habitude" de faire de simple macro en utilisant le bouton enregistrement, et là, je n'arrive pas à utiliser ce que vous m'avez envoyé.

Est ce possible que vous l'appliquiez à la première page de mon fichier? j'imagine qu'après, j'arriverai à m'en sortir pour lue faire sur les feuilles suivantes.

Merci par avance pour votre aide

Bonjour eriiiic 🙂, benjy 🙂

Il n'y a que des zéros dans la colonne. 🙄 Et tu aurais pu faire juste un copié-collé d'une feuille dans un nouveau classeur. Sinon, d'après ce que j'ai compris, à mettre dans le module de ThisWorkbook

VB:
Option Explicit

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim lig As Long

    Application.EnableEvents = False
    Application.ScreenUpdating = False

    If Not Intersect(Target, Range("x6:x65536")) Is Nothing And Target.Count = 1 Then

        With ActiveSheet
            For lig = 6 To .Cells(Rows.Count, "X").End(xlUp).Row
                If .Cells(lig, "X").Value >= 18 Then .Rows(lig).Hidden = True
            Next lig
        End With

    End If
    Application.EnableEvents = True
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim lig As Long

    Application.ScreenUpdating = False

    If Not Intersect(Target, Range("z6:z65536")) Is Nothing And Target.Count = 1 Then

        With ActiveSheet
            For lig = 6 To .Cells(Rows.Count, "X").End(xlUp).Row
                If .Rows(lig).Hidden = True Then .Rows(lig).Hidden = False
            Next lig
        End With
    End If
End Sub
 
- 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

Retour