Figeage un peu spécial des volets ...

djodjodjo

XLDnaute Occasionnel
Bonjour à tous,

Ca faisait un petit moment que je n'avais pas posté! J'ai aujourd'hui un petit souci de figeage (ça se dit?) de volets sous Excel. Je m'explique :

En fait je souhaiterais figer à la fois des lignes et des colonnes, MAIS je voudrais que le figeage de colonne ne soit effectif qu'à partir d'une certaine ligne. Concrètement, lorsqu'on scroll vers la droite, je voudrais que toute une partie haute ne soit pas affectée par le figeage.

L'exemple en classeur joint sera plus parlant !

Merci beaucoup pour votre aide, et aucun problème s'il y a besoin de macros pour faire ça :)

EDIT : Attention en réalité toute la partie haute contient des graphiques Excel et non du texte !
 

Pièces jointes

  • Figeage.xlsx
    11.5 KB · Affichages: 78
Dernière édition:

pascal21

XLDnaute Barbatruc
Re : Figeage un peu spécial des volets ...

bonjour
A part te positionner sur la cellule P13 et figer, je ne vois pas de solution
et le trait noir restera quoi qu'il arrive
si la partie bleus doit contenir des données
essaye avec l'appareil photo " je n'ai jamais utilisé" tu photographie la zone et ensuite tu peux positionner cette image où tu veux et elle se réactualise
*par contre ne me demande pas où c'est dans le excel 2007, je n'ai sais rien du tout
 

JNP

XLDnaute Barbatruc
Re : Figeage un peu spécial des volets ...

Bonjour le fil :),
Euh, l'appareil photo, je ne l'ai jamais trouvé dans le ruban 2007, mais il est accessible en l'ajoutant à la barre d'accès rapide :p...
Par contre, je viens de faire le test (et ça parait logique...), la photo est aussi affectée par le fractionnement :(...
Techniquement, même en passant par VBA, je ne vois pas vraiment de solution :eek:...
A part un bricolage avec 2 onglets juxtaposés et sans défilement synchrone, peut-être ? :rolleyes:...
Bon courage :cool:
 

djodjodjo

XLDnaute Occasionnel
Re : Figeage un peu spécial des volets ...

Bonjour à vous et merci de vous être intéressé à mon problème!

@ pascal21 : J'ai testé la photo mais ça ne fonctionne pas ça fait pareil :(

@JNP : Qu'entends-tu exactement par "A part un bricolage avec 2 onglets juxtaposés et sans défilement synchrone, peut-être ?"
Tu parles de 2 onglets différents ? 2 feuilles Excel ?

@tbft : En réalité la partie haute comprend toute une série de graphiques Excel (ChartObject.Item ou un truc comme ça) et moi du moment qu'ils restent tous bien visibles et qu'ils ne soient pas coupés, pas de problème pour les "modifier" mais la barre de figeage noire pose vraiment problème ça fait moche..

Il faut peut-être oublier le figeage des colonnes et trouver autre chose.. ou laisser tomber carrément =/

Merci
 

djodjodjo

XLDnaute Occasionnel
Re : Figeage un peu spécial des volets ...

@ tbft : Si par "faire glisser" l'entête tu entends "décaler" tout l'entête d'une colonne à chaque fois qu'un scroll à droite d'une colonne est fait, alors à mon avis ça ne va pas être possible car il s'agit de graphiques :s

Edit: Pff quelle galère.. ils auraient pas pu créer une fonction de figeage de volets un peu plus poussée ^^
 

djodjodjo

XLDnaute Occasionnel
Re : Figeage un peu spécial des volets ...

Bonjour job75,

Petit bout de code très intéressant mais difficilement applicable dans mon cas car toute la partie haute contient en réalité des graphiques Excel et non du texte.. j'aurais dû le préciser je vais Edit mon 1er post

Merci en tout cas
 

djodjodjo

XLDnaute Occasionnel
Re : Figeage un peu spécial des volets ...

En plus le "Application.OnTime Now + 1 / 86400, "Cadre"" me gêne beaucoup ... effectivement c'est plus cher comme vous dites ! Au dessus de mes moyens même :)

Il y a des fois où il faut peut-être se résigner... c'est ma 1ère fois snif
 

job75

XLDnaute Barbatruc
Re : Figeage un peu spécial des volets ...

Re,

Si l'on n'aime pas Application.OnTime, une boucle sans fin avec DoEvents :

Code:
Sub Cadre()
Dim t&
Do
If ActiveSheet.CodeName <> "Feuil1" Then Exit Sub
If Int(10 * Timer) > t Then
  ActiveSheet.Shapes("Graphique 1").Left = ActiveWindow.Panes(2).VisibleRange.Cells(3, 2).Left
  t = Int(10 * Timer)
End If
DoEvents
Loop
End Sub
Sur Excel 2003 la barre d'outils est grisée, mais je pense qu'on peut y remédier.

Fichier (3), on peut tester en ligne.

A+
 

Pièces jointes

  • Figeage(3).xls
    48 KB · Affichages: 53
Dernière édition:

job75

XLDnaute Barbatruc
Re : Figeage un peu spécial des volets ...

Re,

J'ai testé sous Excel 2010, ça n'allait pas.

D'abord, sur Workbook_Open, il faut lancer "Cadre" avec Application.Ontime.

Ensuite il y avait des clignotements, donc utiliser :

Code:
Sub Cadre()
Dim t&, pos#
Do
If ActiveSheet.CodeName <> "Feuil1" Then Exit Sub
If Int(10 * Timer) > t Then
  pos = ActiveWindow.Panes(2).VisibleRange.Cells(3, 2).Left
  If ActiveSheet.Shapes("Graphique 1").Left <> pos Then _
    ActiveSheet.Shapes("Graphique 1").Left = pos
  t = Int(10 * Timer)
End If
DoEvents
Loop
End Sub
Fichier (4).

A+
 

Pièces jointes

  • Figeage(4).xls
    45.5 KB · Affichages: 54

djodjodjo

XLDnaute Occasionnel
Re : Figeage un peu spécial des volets ...

Re,

vraiment pas mal! Mais (car il y a toujours un "mais"...) toujours le problème de ce fichu trait noir de figeage... sans compter que mes graphiques peuvent être dans la partie gauche (figée), tout comme dans la partie droite (non figé) tout comme superposés sur la ligne de figeage ! ... grosse galère.

Merci beaucoup pour tout ceci en tout cas !
 

Discussions similaires

Statistiques des forums

Discussions
312 350
Messages
2 087 514
Membres
103 572
dernier inscrit
hamzahaha