Macro pour masquer un range de ligne par rapport à une donnée.
Résolu
Trachenberg
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
Trachenberg Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Trachenberg Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
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
A voir également:
- Macro pour masquer un range de ligne par rapport à une donnée.
- Partage de photos en ligne - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Aller à la ligne excel - Guide
- Plan d'un rapport de stage - Guide
- Mètre en ligne - Guide
3 réponses
Bonsoir Trachenberg
Exemple de macro pour cacher les lignes 6 à 10
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
Exemple de macro pour cacher les lignes 6 à 10
Sub 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
Trachenberg
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
Merci
Bonsoir Trachenberg,
bonsoir Via55,
Une autre solution
A+
bonsoir Via55,
Une autre solution
Sub 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+