Afficher un message
Vieux 05/10/2005, 12h24   #2 (permalink)
jeromegmc
XLDnaute Occasionel
 
Date d'inscription: juin 2005
Messages: 229
Par défaut Re:Macro pour masquer des lignes

Salut,


Dis moi ce que tu penses de ça (hypothèse: dans la 1ère colonne tu as le nom de ta famille, ici famille1):
J'ai fais l'opération pour une famille, généralise ce code pour les autres familles.


Code:
Sub QuelleFamille()

Dim myfirstrowf1, mylastrowf1
Dim nblignemax, i

nblignemax = 8 'dans mon cas pour diminuer le temps de calcul


'ici je détecte quelle est ma PREMIERE ligne ou je rencontre famille1
For i = 1 To nblignemax
If cells(i, 1).Value = 'famille1' Then
myfirstrowf1 = cells(i, 1).Row
GoTo line1
End If
Next

line1:
'ici je détecte quelle est ma DERNIERE ligne ou je rencontre famille1
For i = nblignemax To 1 Step -1
If cells(i, 1).Value = 'famille1' Then
mylastrowf1 = cells(i, 1).Row
GoTo line2
End If
Next

line2:

'Petit message pour véirifier
MsgBox 'Pour la famille1:' & Chr(10) & 'La 1ere ligne est: ' & myfirstrowf1 & _
Chr(10) & 'La dernière ligne est ' & mylastrowf1

'masquer la famille1
Range(cells(myfirstrowf1, 256), cells(mylastrowf1, 256)).Select
Selection.EntireRow.Hidden = True

Range('C1').select

End Sub


A+

Message édité par: jeromegmc, à: 05/10/2005 11:28
jeromegmc est déconnecté   Réponse avec citation