Afficher / Masquer en fonction des variables colonne/ligne
ha_lio
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
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:
Je vous remercie pour votre aide,
Bien cordialement
Ha_lio le noob
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:
- Afficher / Masquer en fonction des variables colonne/ligne
- Partager des photos en ligne - Guide
- Fonction si et - Guide
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Mètre en ligne - Guide