[Résolu] Afficher Masquer ligne sous conditions

Lone-wolf

XLDnaute Barbatruc
Bonjour Le Forum,

d'après l'exemple du classeur joint, je cherche à afficher et masquer ligne par ligne les données des 3 tableaux, en gardant les deux macros déjà inscrites. Les lignes Max pour chaque tableau sont variables, mais pas plus de 30.

Merci d'avance pour votre aide.



A+ :cool:
 

Pièces jointes

  • Classeur1.xls
    46 KB · Affichages: 43
  • Classeur1.xls
    46 KB · Affichages: 56
  • Classeur1.xls
    46 KB · Affichages: 52
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Afficher Masquer ligne sous conditions

Bonsoir à tous

Lone-Wolf
Où est exactement la difficulté que tu rencontres ??
(car tes macros fonctionnent, non ?)

Sinon comme j'avais un peu de temps devant moi, j'ai fait de tes deux macros, une seule macro
(que tu peux affecter au + et au -)
Code:
Sub mLines()
Dim Rw As Long
With ActiveSheet
     Rw = .Shapes(Application.Caller).TopLeftCell.Row + 1
    Select Case .Shapes(Application.Caller).TopLeftCell.Column
    Case 12: .Rows(Rw + 1).EntireRow.Insert -4121
    Case 13: .Rows(Rw + 1).EntireRow.Delete -4162
    End Select
End With
End Sub
PS: Test ok avec ta PJ sur mon PC.
 

Staple1600

XLDnaute Barbatruc
Re : Afficher Masquer ligne sous conditions

Re

Lone-Wolf
Pourquoi ne pas utiliser Données/Grouper ?
(Les - et + sont cliquables également)
lonewolfDG.png
PS: les noms sont bien fictifs ?
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Afficher Masquer ligne sous conditions

Bonjour Jean-Marie,

vu comme celà, c'est une solution. Mais ça ne permet pas d'afficher les données ligne par ligne.
Pour les noms, sans vouloir t'offenser, je ne vais pas me repeter à chaque fois, c'est lassant non?? :eek::eek:


A+ :cool:
 

Staple1600

XLDnaute Barbatruc
Re : Afficher Masquer ligne sous conditions

Bonjour

Lone-Wolf
As-tu testé et/ou adapté mon code VBA ? (celui du message #2)
REPONSE 1 :Non_[ ]
REPONSE 2 :Oui _[ ]

Si non
Est-ce aussi lassant que de juste répondre oui à la question de mon PS du précédent message ;) ?

[note à moi-même]
Tiens, je devrais me poser la question ... ;)[/note à moi-même]

Si oui
Je n'ai pas eu d'écho à ce sujet de ta part ;)
Oulah! je me sens tout las d'un coup ;)
 

Lone-wolf

XLDnaute Barbatruc
Re : Afficher Masquer ligne sous conditions

Re,

Si non
Est-ce aussi lassant que de juste répondre oui à la question de mon PS du précédent message ?

OUI, par-ce qu'à chaque fois tu pose la question :p :D; puisqu'on est censés mettre des noms fictifs, mais qui peuvent exister je l'admet. Imagine un peu le bouleau, si à chaque fois on doit vérifier.

Pour la macro, j'ai modifié comme suit:

Code:
Sub mLines()
Dim Rw As Long
With ActiveSheet
     Rw = .Shapes(Application.Caller).TopLeftCell.Row + 1
    Select Case .Shapes(Application.Caller).TopLeftCell.Column
    Case 12: .Rows(Rw + 1).EntireRow.Hidden = False
    Case 13: .Rows(Rw + 1).EntireRow.Hidden = True
    End Select
End With
End Sub

Mais elle s'arrête à 1 seule ligne. Hors à chaque clic, il faudrait qu'elle masque la suivante et vice-versa.


A+ :cool:
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Afficher Masquer ligne sous conditions

Bonjour Jean Marie, le Forum

j'ai trouver la solution pour pouvoir afficher et masquer les différents tableaux. Mais si on peux mieux faire, je suis preneur.


Dans tous les cas, Jean-Marie, merci encore une fois pour ton aide.


A+ :cool:
 

Pièces jointes

  • Classeur1.xls
    66.5 KB · Affichages: 35
  • Classeur1.xls
    66.5 KB · Affichages: 43
  • Classeur1.xls
    66.5 KB · Affichages: 47
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : [Résolu] Afficher Masquer ligne sous conditions

Bonsoir à tous

Lone-Wolf
Voici mon interprétation (ou du moins ce que m'a inspiré ta dernière pièce jointe)
Affectes cette macro à toutes tes Shapes [+]
Puis testes comme ceci:
•1er clic sur le [+]: Masque "le tableau en cours"
•2nd clic sur le [+]: Démasque "le tableau en cours"
NB: Test OK, si les cellules en colonne A en entre chaque ligne "début de tableau" sont vides.
VB:
Sub MasqueDemasque()
Dim a$, b$, c As Range
a = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row + 1
b = Cells(a, 1).End(-4121)(-0).Row
Set c = Rows(a & ":" & b): c.Hidden = Not c.Hidden
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : [Résolu] Afficher Masquer ligne sous conditions

Re


Lone-Wolf
...elle masque tout le tableau d'une fois au lieu de ligne par ligne.
Oui je sais cela.
C'est pourquoi je l'ai précisé dans mon précédent message ...que je t'invite donc à relire attentivement ;)

PS: Néanmoins, je pense qu'il y a un piste à explorer.
Enfin si j'étais moi c'est ce que je ferais.
J'irai farfouiller du côté d'Application.Caller et de TopLeftCell
NB: De plus, n'avoir qu'une seule macro pour toutes shapes allège pas mal le code, non ?

Mais c'est ta question, donc tu fais comme bon te semble. ;)
(peut-être que ce bout de code servira un jour à d'autres lecteurs de ce fil)
 

Lone-wolf

XLDnaute Barbatruc
Re : [Résolu] Afficher Masquer ligne sous conditions

Bonjour Jean-Marie,

NB: De plus, n'avoir qu'une seule macro pour toutes shapes allège pas mal le code, non ?

Bien entendu. J'ai même repris les deux macros

Code:
Sub MasqueDemasque()
Dim a$, b$, c As Range
a = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row + 1
b = Cells(a, 1).End(-4121)(-0).Row
Set c = Rows(a & ":" & b): c.Hidden = Not c.Hidden
End Sub


Sub mLines()
Dim Rw As Long
With ActiveSheet
     Rw = .Shapes(Application.Caller).TopLeftCell.Row + 1
    Select Case .Shapes(Application.Caller).TopLeftCell.Column
    Case 12: .Rows(Rw + 1).EntireRow.Hidden = False
    Case 13: .Rows(Rw + 1).EntireRow.Hidden = True
    End Select
End With
End Sub

Mais c'est toujours le même problème. De plus, les macros que j'ai écrites, c'est comme avoir les boutons Enregistrer et Effacer, qui par logique, doivent avoir deux macros distinctes.



A+ :cool:
 

Si...

XLDnaute Barbatruc
Re : [Résolu] Afficher Masquer ligne sous conditions

salut

Résolu ?
Et avec des toupies ? Si... tes tableaux sont susceptibles d'évoluer tu peux programmer les valeurs Max et Min de chacune d'elles.
 

Pièces jointes

  • Afficher Masquer Lignes (Toupies).xls
    69.5 KB · Affichages: 29

Staple1600

XLDnaute Barbatruc
Re : [Résolu] Afficher Masquer ligne sous conditions

Bonjour Lone-Wolf, Bonjour Si..., le fil

Chouette idée les Spin ;

Je viens de tester :
un petit souci quand tu démasque N lignes, puis que tu les remasques, tu ne peux revenir à l'état initial
tu reviens toujours à N+1
Exemple
Si je clique sur Spin1 5 fois puis 5 fois sur Spin2, la ligne 5 restera visible
Autre souci:
si tu sélectionnes les lignes masquées, clic-droit Afficher, puis que cliques sur les Spin, l'autre souci apparait.

En attendant la fin de cuisson de ma quiche, je tente un mix entre tes spins et mes ApplicationCaller/TopLeftCell ;)
 

Discussions similaires

Réponses
4
Affichages
196
Réponses
2
Affichages
372
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 202
Messages
2 086 175
Membres
103 152
dernier inscrit
Karibu