Réaliser un fichier avec une page extensible (Colonnes masquées/apparentes)

Chri8Ed

XLDnaute Occasionnel
Bonjour le Forum

J’ai un grand tableau de plus de 3000 lignes avec de nombreuses colonnes que j’affiche à l’écran en 2 pages : Une page gauche et une page droite.
Pour plus de clarté, j’ai constitué en exemple de mon tableau.

L’Essentiel du tableau se passe sur la page gauche.

Dans celui-ci j’ai 13 colonnes affectées à des dates.
J’aurai besoin pour certains objets d’avoir plus de colonnes « Date »

Si j’augmente le nombre de colonnes « date »
- Soit mon tableau deviendra illisible car la largeur des colonnes seront trop petites
- Soit je devrai ajouter une 3ème page, mais je vais devoir me balader de page en page !

Serait-il possible sur Excel
Si j’ai par exemple plus de 13 dates sur une la ligne 2, un astérisque apparaisse en AB2 et que à l’aide d’une macro, 5 colonnes « Date » cachées se présentent à l’écran sans bouleverser l’affichage de ma page gauche.

Si quelqu’un à déjà réalisé ce genre de chose ou a une idée sur sa faisabilité ?
Merci d’avance
 

Pièces jointes

  • Tableau exemple.xlsx
    13.1 KB · Affichages: 59
  • Tableau exemple.xlsx
    13.1 KB · Affichages: 66
  • Tableau exemple.xlsx
    13.1 KB · Affichages: 66

Chri8Ed

XLDnaute Occasionnel
Re : Réaliser un fichier avec une page extensible (Colonnes masquées/apparentes)

J'en doute pas

Voila les deux codes

Initial :
Code:
Private Sub Worksheet_change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Application.Intersect(Range(Target.Address), Range("O:X")) Is Nothing Then Exit Sub
If Target.Value = Date Then
    Cells(Target.Row, "AA").Value = ""
End If
End Sub

Nouveau
Code:
[CODE]Private Sub Worksheet_change(ByVal Target As Range)
ActiveWindow.DisplayOutline = False
If Range("AF5") = 0 Then ActiveSheet.Outline.ShowLevels ColumnLevels:=1
If Range("AF5") > 0 Then ActiveSheet.Outline.ShowLevels ColumnLevels:=2
End Sub

Ce que j'ai essayé de faire
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Application.Intersect(Range(Target.Address), Range("O:X")) Is Nothing Then Exit Sub
If Target.Value = Date Then
    Cells(Target.Row, "AA").Value = ""
End If

ActiveWindow.DisplayOutline = False
If Range("AF5") = 0 Then ActiveSheet.Outline.ShowLevels ColumnLevels:=1
If Range("AF5") > 0 Then ActiveSheet.Outline.ShowLevels ColumnLevels:=2
End Sub

A+
 

Chri8Ed

XLDnaute Occasionnel
Re : Réaliser un fichier avec une page extensible (Colonnes masquées/apparentes)

Je n'ai rajouté que 4 colonnes et non 5
car autrement cela ne tient plus sur la même page

Mon tableau (Les données) ne commence que sur la ligne 5

Donc au lieu de AG2 c'est AF5

A+
 

JCGL

XLDnaute Barbatruc
Re : Réaliser un fichier avec une page extensible (Colonnes masquées/apparentes)

Bonjour à tous,

Ceci fonctionne :

VB:
Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
ActiveWindow.DisplayOutline = False
If Target.Count > 1 Then Exit Sub
'If Application.Intersect(Range(Target.Address), Range("O:X")) Is Nothing Then Exit Sub
If Target.Value = Date Then Cells(Target.Row, "AA").Value = ""
If Range("AF5") = 0 Then ActiveSheet.Outline.ShowLevels ColumnLevels:=1
If Range("AF5") > 0 Then ActiveSheet.Outline.ShowLevels ColumnLevels:=2
End Sub

A+ à tous
 

Chri8Ed

XLDnaute Occasionnel
Re : Réaliser un fichier avec une page extensible (Colonnes masquées/apparentes)

Cela ne fonctionne pas
Ou du moins cela ne fonctionne pas bien

J’ai l’impression que mon fichier est trop lourd pour cette technique ...

J’ai fait plusieurs essais, mais les colonnes s’ouvrent avec un temps de réactions très très long.
Ou ne s’ouvrent pas du tout !!
Par contre, elles se referment plutôt bien dès que l’on efface une 13e date

Et encore, au début j’avais fait l’essai sur 2000 lignes, maintenant je ne l’ai fait que sur 15 lignes
Mais malgré cela, le problème reste entier
 

Chri8Ed

XLDnaute Occasionnel
Re : Réaliser un fichier avec une page extensible (Colonnes masquées/apparentes)

Bonjour

A défaut de pouvoir l'utiliser en automatique
J'ai réalisé 2 macros pour me permettre de d'ouvrir ou de fermer les colonnes supplémentaires.
Cela me permet de conserver ce procédé fort intéressant

1 seule macro serait cependant plus pratique.
Je pense que cela doit pouvoir ce réaliser ?
Mais il faut alors qu'elle soit conditionnelle à ce que les colonnes sont ouvertes ou fermées.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 500
Messages
2 089 007
Membres
104 003
dernier inscrit
adyady__