Afficher / Masquer en fonction des variables colonne/ligne

Fermé
ha_lio Messages postés 2 Date d'inscription jeudi 12 septembre 2019 Statut Membre Dernière intervention 13 septembre 2019 - Modifié le 12 sept. 2019 à 15:03
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 13 sept. 2019 à 16:15
Bonjour à tous,

je souhaite faire une fonction qui me permet de cacher des lignes dans une seule colonne avec 2 variables.
Une variable pour la ligne et une variable pour la colonne (afin de pouvoir étendre facilement dans mes x colonnes)

Aujourd'hui le code se déroule du début à la fin MAIS il ne me cache pas ou ne m'affiche pas les lignes.
J'ai inclus des "message boxes" pour voir si la boucle.
La boucle s'exécute mais pas le "masquage" ou "l'affichage" et pourtant l'action se passe sans encombre.

Je viens donc vers vous pour m'éclairer sur l'erreur que j'ai pu faire.

J'ai écrit cela:

Public Function HIDE(cellule_test As Range, n As Integer)
Dim a, b, i As Variant
Dim c As Integer
    If cellule_test.Count > 1 Then Exit Function            'si plusieurs cellules sont sélectionnées on quitte la procédure
    c = 0                                                   'Remise à 0 de c
    b = cellule_test.Column                                 'b prend la valeur de la colonne
    a = cellule_test.Row                                    'a prend la valeur de la colonne
        If cellule_test.Address = Cells(a, b).Address Then  'vérification que la modification se passe dans la cellule(a,b)
        i = cellule_test.Value                              'i prend la valeur de la cellule sélectionnée
        a = a + n                                           'a prend la valeur de la colonne + un décalage
            If i = "Not_hide" Then                          'si la valeur de i est "not_hide" alors:
            'MsgBox "pas caché"
                Do While a <= 16                            'boucle tant que "a" n'a pas atteind la valeur 16
                Rows(a).EntireRow.Hidden = False            'on affiche la ligne avec la valeur de a
                a = a + 1                                   'incrémentation de a
                Loop                                        'bouclage do while
            Else: i = "Hide"                                'dans le cas où i à la valeur "Hide"
                    Do While a <= 16                        'boucle tant que "a" n'a pas atteind la valeur 16
                        If IsEmpty(Cells(a, b)) = True Then 'si la cellule(a,b) est vide alors
                        MsgBox "dans le if 2 boucle " & Cells(a, b).Address 'affichage de msgbox pour vérifier que ça fonctionne
                        Rows(a).EntireRow.Hidden = True     'on masque la ligne avec la valeur de a
                        MsgBox "la ligne " & a & " est cachée"              'affichage de msgbox pour vérifier que ça fonctionne
                        c = c + 1                           'j'incrémente la valeur c à chaque fois que je cache une ligne
                        End If
                    a = a + 1                               'incrémentation de a
                    Loop                                    'bouclage do while
            MsgBox "There are " & c & " lines hidden"       ' affichage du nombre de lignes cachées
            End If
        End If
End Function


Je vous remercie pour votre aide,

Bien cordialement
Ha_lio le noob
A voir également:

2 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
12 sept. 2019 à 16:56
Bonjour,

Chez moi ca masque/demasque les lignes

Faudrait votre fichier pour avoir le contexte
0
ha_lio Messages postés 2 Date d'inscription jeudi 12 septembre 2019 Statut Membre Dernière intervention 13 septembre 2019
13 sept. 2019 à 09:06
Bonjour F894009,

Merci pour ta réponse.
Je ne peux malheureusement pas partager en public le fichier.

Cependant, je peux te le partager en privée si c'est possible.

Cordialement
Ha_Lio
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
13 sept. 2019 à 16:15
Bonjour,

Messagerie privee de ccm
0