MSFlexGrid

P

PY

Guest
Bonjour a tous

je désire utiliser un controle MSFlexGrid a la place d'un controle listbox mais lorsque je tape ce code pour l'alimenter, excel me renvoi une erreur:

Private Sub UserForm_Activate()
MSFlexGrid1.RowSource = Sheets("prestation").Range("A:D")
End Sub

que dois-je faire pour alimenter mon controle?

PY
 
D

doncoucou

Guest
salut

je n'est pas cette option mais il ya un truc qui me choc sur une liste box il faut mettre
listbox1.RowSource = Sheets("prestation").Range("A:D").address
si non il mets une erreur de compilation erreur'13'

donc je ne sait pas si cela peut t'aider mes je pense qu'il faut que tu rajoute .address

Private Sub UserForm_Activate()
MSFlexGrid1.RowSource = Sheets("prestation").Range("A:D").address
End Sub


a+
 
P

PY

Guest
salut doncoucou

en fait j'alimente mon listbox comme suit:
listbox1.rowsource= "prestation!A:D"
et cela marche très bien je vais essayer l'autre solution (avec adress)

autre question comment fait-on pour mettre les entetes des colonnes de feuilles dans les entetes de colonne de msflexgrid?

PY
 
P

PY

Guest
re

je viens d'essayer:
MSFlexGrid.rowsource = sheets("prestation").range("A:D").adress

et je reçois: erreur d'execution 438. propriété ou fonction non géré par l'objet

Pourtant quand je tape:
MSFlexGrid. après le point excel me propose la liste des propriété dans un listbox et la propriété rowsource y figure donc on peut l'utiliser. ça doit etre apres que cela peche

PY
 
D

doncoucou

Guest
Il doit y a voir un problème de version j'utilise Office97 (je sais on est pauvre au boulot)

sinon pour changer de sujet ,et pour essayé de répondre a ta question moi perso sur les liste box(toujour pas l'option MSFlexGrid) je lui donne une Rowsource du type sheets("Feuil1").range("A2:D9").adress
et sur la liste box je valide dans les proprietes
ColumnHeads à True

pour la source je suis obligé de commencer a ligne 2 car si je selection les entete dans ma source il me donne les nom des colonnes (A,B,...)

Donc je ne sait pas si cela peut t'aidé.

Mais sinon bonne chance.

A+

PS ald de faire Range("A2:D5") en source tu peut utilisé
Range("a2:D2").Select
Range(Selection, Selection.End(xlDown)).Select
comme ca si tu modifis ta liste elle est prise en compte.
 
P

PY

Guest
un msflexgrid est un controle utiliser pour faire des liste de données (un peu comme un listbox) mais qui se présente sous forme de case voir fichier joint

en fait c'est un controle de VB6 c'est peut etre pour cela qu'il ne fonctionne pas bien sous VBA, pourtant dans la boite a outil controle quand on clique sur controles supplémentaires, il apparait dans la liste des controles.

PY
 

Pièces jointes

  • Classeur2.xls
    28.5 KB · Affichages: 151
  • Classeur2.xls
    28.5 KB · Affichages: 162
  • Classeur2.xls
    28.5 KB · Affichages: 163
P

PY

Guest
ERRATUM

Il ne peut pas etre present, je m'explique: j'avais Visual Basic 6.0 edition pro
en le désinstallant il a supprimer sa bibilothèque d'objet (dont msflexgrid).
En installant VB6, excel acceptait ses objets (mais apparemment difficile a mettre en oeuvre).

Si quelqu'un savait ou on pouvait se procurer ses controles je suis preneur

PY
 

Discussions similaires

Statistiques des forums

Discussions
313 070
Messages
2 095 017
Membres
106 158
dernier inscrit
valdin