Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 05/10/2005, 10h33   #1 (permalink)
Sdc
XLDnaute Nouveau
 
Date d'inscription: septembre 2005
Messages: 4
Par défaut Macro pour masquer des lignes

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 ICI
Merci d'avance.
Sdc.
Sdc est déconnecté   Réponse avec citation
Vieux 05/10/2005, 11h24   #2 (permalink)
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
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 15h08.


(C) 2006 Excel Downloads