Afficher / Masquer en fonction des variables colonne/ligne
ha_lio
Messages postés
2
Statut
Membre
-
f894009 Messages postés 17413 Statut Membre -
f894009 Messages postés 17413 Statut Membre -
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