Macro pour masquer un range de ligne par rapport à une donnée.
Résolu
Trachenberg
Messages postés
6
Statut
Membre
-
Trachenberg Messages postés 6 Statut Membre -
Trachenberg Messages postés 6 Statut Membre -
Bonjour,
Je cherche une macro pour masquer des lignes sous condition. voici les conditions:
Si sur la ligne 4 entre les cellule D4 et K4 on retrouve la donnée de la cellule B2 alors masquer la ligne 6 a 10 si non voir si dans la ligne 7 entre D7 et K7 si on retrouve la donnée de la cellule B2 si oui alors masquer les lignes 4 et 12 à 15 sinon voir sur la ligne 9 entre D9 et K9 si on retrouve la donnée de la cellule B2 si oui alors masquer les lignes 4 a 8 et 17 a 23 si non rien ?
Merci
Je cherche une macro pour masquer des lignes sous condition. voici les conditions:
Si sur la ligne 4 entre les cellule D4 et K4 on retrouve la donnée de la cellule B2 alors masquer la ligne 6 a 10 si non voir si dans la ligne 7 entre D7 et K7 si on retrouve la donnée de la cellule B2 si oui alors masquer les lignes 4 et 12 à 15 sinon voir sur la ligne 9 entre D9 et K9 si on retrouve la donnée de la cellule B2 si oui alors masquer les lignes 4 a 8 et 17 a 23 si non rien ?
Merci
3 réponses
-
Bonsoir Trachenberg
Exemple de macro pour cacher les lignes 6 à 10Sub masquer() existe = 0 'Boucle sur les colonnes 4 à11 For col = 4 To 11 ' si la valeur de la cellule égale celle de B pn met variable existe à 1 If Cells(4, col) = Range("B2") Then existe = 1 Next 'si existe=1 on masque les lignes 6 à 10 puis on sort If existe = 1 Then Rows("6:10").Select Selection.EntireRow.Hidden = True Exit Sub End If End Sub
Pour les 2 autres vérifications il faut recopier la même procéure depuis existe=0 jusqu'à End if avant le End sub en changeant les valeurs des colonnes et des lignes à effacer
Je te laisse le soin de le faire
Cdlmnt
Via
-
Bonsoir Trachenberg,
bonsoir Via55,
Une autre solutionSub Masquer()
If Application.CountIf(Range("D4:K4"), Range("B2")) > 0 Then
Rows("6:10").Hidden = True
ElseIf Application.CountIf(Range("D7:K7"), Range("B2")) > 0 Then
Rows(4).Hidden = True
Rows("12:15").Hidden = True
ElseIf Application.CountIf(Range("D9:K9"), Range("B2")) > 0 Then
Rows("4:8").Hidden = True
Rows("17:23").Hidden = True
End If
End Sub
A+ -