Macro pour masquer des lignes

Sdc

XLDnaute Nouveau
Bonjour à tous,
J'ai fait une bibliothèque de prix sur 1 page (il est important qu'elle soit confinée sur 1 seule page) et pour mieux m'y repérer, j'ai fait des boutons associés à des macros qui masquent les lignes des familles ...
C'est pas très fumant mais ça a le mérite de fonctionner ...
Mon souci c'est quand je veux rajouter dans une famille, une ligne avec un nouveau produit ... Ensuite les macro masquent les lignes mais tout est décalé (normal vu la simplicité de mon code).
Donc ma question est :
- Comment faire pour que je puisse rajouter des lignes dans cette biblio sans avoir à chaque fois à modifier les macros ?
La biblio est dispo Ce lien n'existe plus
Merci d'avance.
Sdc.
 

jeromegmc

XLDnaute Occasionnel
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
 

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 462
Membres
103 547
dernier inscrit
matospi