Figer les volets dans un SpreadSheet

steph_60

XLDnaute Nouveau


Bonjour

C'est la première fois que je rejoins un Forum.
Je souhaiterais avoir des infomations complémentaires sur la ou les méthodes pour figer les volets d'un SpreadSheet, qui se trouve dans un UserForm.
je vous joins une fiche explicative de mon problème au format pdf zippé

Merci pour votre attention.
 

Pièces jointes

  • Spreadsheet_prob1.zip
    13.7 KB · Affichages: 36

steph_60

XLDnaute Nouveau
Re : Figer les volets dans un SpreadSheet

Bonjour et bienvenue sur le forum,

Nous ne pouvons rien faire à partir d'un fichier PDF.

Je t'invite grandement à aller consulter laLien supprimé.

A+

'-----------------------------------------------------------------------------------------------------------
' Limiter la plage d'affichage
' colonneMax = nombre de champ --> conversion du nombre de champ en lettre
' indexLigneMax --> nombre d'enregistrement dans la table
'-----------------------------------------------------------------------------------------------------------

ColonneMax = GestionTableau.decodageColonne(nbFields + 1)
indexLigneMax = mysql_num_rows(pMyRES)
Table1.tableur2.ActiveWindow.ViewableRange = "$A$1:$" & ColonneMax & "$" & indexLigneMax

'-----------------------------------------------------------------------------------------------------------
' on fige les volets pour avoir l'entête fixe
' nota :FreezePanes s'applique à une fenêtre
'-----------------------------------------------------------------------------------------------------------

Table1.tableur2.ActiveSheet.Activate
Table1.tableur2.Range("A2").Select

Table1.tableur2.ActiveWindow.FreezePanes = True

'-----------------------------------------------------------------------------------------------------------
' formatage de la feuille/ cadrillage des cellules
'
'-----------------------------------------------------------------------------------------------------------

With Table1.tableur2.Range("A1:" & ColonneMax & Table1.tableur2.Range("A1").End(xlDown).row)
.Columns.AutoFit
.Borders.LineStyle = xlContinuous
End With


Table1 est l'UserForm
tableur2 est le SpreadSheet

l'ensemble du code fonctionne sauf la partie pour figer ( la methode FreezePanes ne s'applique pas à l'objet tableur2

Merci pour votre aide sur cette partie du code
 
G

Guest

Guest
Re : Figer les volets dans un SpreadSheet

Re,
La réponse est dans ta réponse!
FreezePanes s'applique à une fenêtre

Mais pour qu'il y ait fenêtre il faut que le userForm soit affiché.
FreezPanes dans les évènements du spreadsheet lui-même fonctionne mal.
Le contrôle OWC n'est pas l'application Excel!

Le mieux est de créer un bouton pour figer les volets.

A+
 
G

Guest

Guest
Re : Figer les volets dans un SpreadSheet

Re,

Un exemple de code pour un bouton qui se nommerait cmdFigerVoletset un SpreadSheet nommé SpreadSheet1:

Code:
[COLOR=BLUE]Private[/COLOR] [COLOR=BLUE]Sub[/COLOR] cmdFigerVolets_Click()
    [COLOR=BLUE]If[/COLOR] cmdFigerVolets.Caption = [i]"Figer les volets"[/i] [COLOR=BLUE]Then[/COLOR]
        Spreadsheet1.ActiveWindow.FreezePanes = [COLOR=BLUE]True[/COLOR]
        cmdFigerVolets.Caption = [i]"[COLOR=BLUE]Lib[/COLOR]érer les volets"[/i]
    [COLOR=BLUE]Else[/COLOR]
        Spreadsheet1.ActiveWindow.FreezePanes = [COLOR=BLUE]False[/COLOR]
        cmdFigerVolets.Caption = [i]"Figer les volets"[/i]
    [COLOR=BLUE]End[/COLOR] [COLOR=BLUE]If[/COLOR]
[COLOR=BLUE]End[/COLOR] [COLOR=BLUE]Sub[/COLOR]
[COLOR=BLUE]Private[/COLOR] [COLOR=BLUE]Sub[/COLOR] Spreadsheet1_SheetActivate([COLOR=BLUE]ByVal[/COLOR] Sh [COLOR=BLUE]As[/COLOR] OWC10.Worksheet)
    cmdFigerVolets.Caption = Array([i]"Figer les volets"[/i], [i]"[COLOR=BLUE]Lib[/COLOR]érer les volets"[/i])(Spreadsheet1.ActiveWindow.FreezePanes * -1)
[COLOR=BLUE]End[/COLOR] [COLOR=BLUE]Sub[/COLOR]

A+
 

steph_60

XLDnaute Nouveau
Re : Figer les volets dans un SpreadSheet

Re,

Un exemple de code pour un bouton qui se nommerait cmdFigerVoletset un SpreadSheet nommé SpreadSheet1:

Code:
[COLOR=BLUE]Private[/COLOR] [COLOR=BLUE]Sub[/COLOR] cmdFigerVolets_Click()
    [COLOR=BLUE]If[/COLOR] cmdFigerVolets.Caption = [i]"Figer les volets"[/i] [COLOR=BLUE]Then[/COLOR]
        Spreadsheet1.ActiveWindow.FreezePanes = [COLOR=BLUE]True[/COLOR]
        cmdFigerVolets.Caption = [i]"[COLOR=BLUE]Lib[/COLOR]érer les volets"[/i]
    [COLOR=BLUE]Else[/COLOR]
        Spreadsheet1.ActiveWindow.FreezePanes = [COLOR=BLUE]False[/COLOR]
        cmdFigerVolets.Caption = [i]"Figer les volets"[/i]
    [COLOR=BLUE]End[/COLOR] [COLOR=BLUE]If[/COLOR]
[COLOR=BLUE]End[/COLOR] [COLOR=BLUE]Sub[/COLOR]
[COLOR=BLUE]Private[/COLOR] [COLOR=BLUE]Sub[/COLOR] Spreadsheet1_SheetActivate([COLOR=BLUE]ByVal[/COLOR] Sh [COLOR=BLUE]As[/COLOR] OWC10.Worksheet)
    cmdFigerVolets.Caption = Array([i]"Figer les volets"[/i], [i]"[COLOR=BLUE]Lib[/COLOR]érer les volets"[/i])(Spreadsheet1.ActiveWindow.FreezePanes * -1)
[COLOR=BLUE]End[/COLOR] [COLOR=BLUE]Sub[/COLOR]

A+

Merci ,pour ta réponse .
Je vais faire un test , puis je tiens au courant
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 979
dernier inscrit
bderradji