macro masque ligne

M

max

Guest
bonjour,
Cette macro adaptée d'une du site ne masque
pas les lignes une fois le dernier mot recherché trouvé ici en l'occurence,
si quelqu'un voit pourquoi
merci
max

Sub CacherLigne()
Dim Cellule As Range
Dim Zone As Variant
'geler l'écran
Application.ScreenUpdating = False
'Définir zone (ici colonne A jusqu'à 146)
Set Zone = Range('M4', Range('M146').End(xlUp))
'on commence la boucle sur les Cellules de Zone
For Each Cellule In Zone
'si cellule différente de ST-MALO malgré formule alors masquer
If Cellule.Value = ST - MALO Then Cellule.EntireRow.Hidden = True
'on continue la boucle
Next Cellule
'rétablir écran
Application.ScreenUpdating = True
End Sub
 

Dan

XLDnaute Barbatruc
Bonjour,

Essaie ceci :

Code:
Sub CacherLigne()
Dim Cellule As Range
Dim Zone As Variant
'geler l'écran
Application.ScreenUpdating = False
'Définir zone (ici colonne A jusqu'à 146)
Set Zone = SHEETS('nom de ta feuille').Range('M4', Range('M146').End(xlUp))
'on commence la boucle sur les Cellules de Zone
For Each Cellule In Zone
'si cellule différente de ST-MALO malgré formule alors masquer
If Cellule.Value = 'ST - MALO' Then Cellule.EntireRow.Hidden = True
'on continue la boucle
Next Cellule
'rétablir écran
Application.ScreenUpdating = True
End Sub

Remarque :
- évite de prendre des noms tels que Cellule qui sont aussi utilisés dans une formule. En cas de gros programmes tu pourrais te perdre. De même pour 'Zone' (choisis plutôt Plage, lettre a par exemple)
- Vérifies aussi que ST - MALO est bien écrit comme cela et pas comme ceci --> ST-MALO (sans espace)

Bon ap


;)

Message édité par: Dan, à: 06/02/2006 13:16
 

Dan

XLDnaute Barbatruc
Re,

Lol ! c'est ce que fait dans la macro quer tu as postée ici :eek:

sinon change ceci :

Code:
If Cellule.Value = 'ST - MALO'
par
Code:
If Cellule.Value (plus petit - plus grand) 'ST - MALO'

enlève les paranthèses et mets les signes plus petit et plus grand )

;)

Message édité par: Dan, à: 06/02/2006 17:21
 

Dan

XLDnaute Barbatruc
re,

Bon les signes ne passent pas ici. Donc essaie cette macro, qui cachera tout ce qui n'est pas ST-Malo.

Code:
Sub test()
Dim Cellule As Range
Dim zone As Variant
Application.ScreenUpdating = False
Set zone = Sheets('feuil1').Range('M4', Range('M146').End(xlUp))
For Each Cellule In zone
Select Case Cellule
Case Is = 'ST - MALO'
Cellule.EntireRow.Hidden = False
Case Else
Cellule.EntireRow.Hidden = True
End Select
Next Cellule
Application.ScreenUpdating = True
End Sub

Si pb n'hésite pas

;)
 
M

max

Guest
Salut Dan, et
merci

Cela fonctionne, les autres avant aussi je crois,
par contre il faut absolument après la dernière cellule trouvée avec la valeur 'ST - MALO', il y ai une valeur dans la cellule si vide les lignes suivante ne sont pas effacées, comment expliques tu cela ?
 

Statistiques des forums

Discussions
312 378
Messages
2 087 760
Membres
103 661
dernier inscrit
fcleves