ComboBox (form 2.0) - Comment Parametrer le ColumnHeads ?

Messages postés
7
Date d'inscription
lundi 5 janvier 2004
Statut
Membre
Dernière intervention
8 septembre 2006
- - Dernière réponse : daniel_gre
Messages postés
7
Date d'inscription
lundi 5 janvier 2004
Statut
Membre
Dernière intervention
8 septembre 2006
- 8 sept. 2006 à 05:56
Bonjour,

Je souhaite donner des noms aux 3 colonnes de ma combobox...
Je positionne donc ColumnHeads = true,
!!?? mais ensuite comment puis-je donner des headers a mes 3 colonnes !!??

par avance merci de votre aide...

Daniel
Afficher la suite 

11 réponses

Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
83
0
Merci
Attention, si tu utilise le Microsoft Forms2 à partir de VB6 : ce n'est pas un composant redistribuable ! (à moins d'avoir une version developper d'Office qui est TRES chère !).

Donc un petit conseil avant que ca ne t'arrive : si tu souhaite installer un jour ton logiciel sur un autre PC que le tiens, n'utilise pas les Forms2 dans ton application DES MAINTENANT !

Ce n'est qu'un conseil, tu fais ce que tu veux, mais ca t'évitera de devoir tout recoder le jour venu où tu te rendras compte de cà ! (en tout cas, ca m'est arrivé, et je peux te dire que ca m'a bouffé beaucoup de temps de devoir remplacer tout les contrôles Forms 2, et surtout, redéveloppé des contrôles persos qui font les fonctionnalités qui manquent aux contrôles standards de vb6 !).
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
15
0
Merci
Je ne suis pas certain de ce que tu entends par "donner un nom aux colonnes"...

Pour remplir un Combobox à plusieurs colonnes , il faut commencer par y
inscrire les entêtes, si nécessaire et ensuite les données

  

 Dim I As Integer

   

    ComboBox1.AddItem ' ajout d'une ligne qu'on remplit par la suite

    ComboBox1.List(0, 0) = "Colonne 1"

    ComboBox1.List(0, 1) = "Colonne 2"

    ComboBox1.List(0, 2) = "Colonne 3"

   

    For I = 1 To 10

        ComboBox1.AddItem

        ComboBox1.List(I, 0) = "Ligne " & I

        ComboBox1.List(I, 1) = "Ligne " & I

        ComboBox1.List(I, 2) = "Ligne " & I

    Next

    ComboBox1.ListIndex = 0

MPi
Commenter la réponse de cs_MPi
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
7
0
Merci
????????????? Qu'est-ce tu baves Dark?
Moi j'utilise depuis longtemps les controles du Form 2.0

et je peux SANS AUCUN PROBLEME faire des setup et les mettre sur d'autres machines
ne possédant aucun soft de développement... t'as pas eu de bol
Je n'ai pas de version d'office developper non plus. Sinon je le saurais
TBBUIM
Commenter la réponse de tbbuim1
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
83
0
Merci
Et tu es sûr que les versions du Forms2 que tu installe depuis longtemps sont légales ?

Il est interdit d'installer les dll microsoft forms 2.0 si tu n'a pas de licence developper d'office !

Tu utilises quoi comme installateur ? Si tu utilise InnoSetup par exemple, il te le dit lorsque tu essaye de compiler ton setup.

On va pas revenir encore sur ce genre de discution, j'en ai déjà largement parlé sur le forum !

Et si tu ne me crois toujours pas voici les propos de microsoft à ce sujet :
"Le Fm20.dll est NON redistribuable. Vous devez avoir une
application tel que Microsoft Office 97 sur le système cible qui
installe Fm20.dll comme partie de son programme d'installation."
"NOTE :
L'utilisation de ces composants de Microsoft Forms dans vos propres
applications compilées tel que qui écrit avec Microsoft Visual C++ et
Microsoft Visual Basic n'est pas recommandée ou n'est pas prise en
charge. Ces contrôles ont été conçus et ont été testés pour que
fonctionner exclusivement dans Microsoft Office et son environnement
Visual Basic pour Applications."

Extraits de cette page :
http://support.microsoft.com/default.aspx?scid=kb%3Bfr%3B224305

Donc avant d'utiliser des contrôles ActiveX à tout va dans vos projets, renseignez vous avant si vous en avez le droit, et surtout, si vous pouvez les distribuer par la suite !
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
7
Date d'inscription
lundi 5 janvier 2004
Statut
Membre
Dernière intervention
8 septembre 2006
0
Merci
Bon,
apres cette importante discussion sur les licence de redistribution...
pas de solution en vue :-(

ComboBox.Additem (argument)
l'argument de cette propriete n'est pas optionel !!??

Daniel
Commenter la réponse de daniel_gre
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
83
0
Merci
Le code de MPi te convient pas ?
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
7
Date d'inscription
lundi 5 janvier 2004
Statut
Membre
Dernière intervention
8 septembre 2006
0
Merci
comme je le notais dans mon message, ce code ne peut pas fonctionner car
ComboBox.Additem (argument)
l'argument de cette propriete n'est pas optionel !!??

Daniel
Commenter la réponse de daniel_gre
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
7
0
Merci
J'ai oublié de préciser que toutes mes machines contiennent Office 2002
MSDN:


Le Fm20.dll est NON redistribuable. Vous devez avoir une
application tel que Microsoft Office 97 sur le système cible qui
installe Fm20.dll comme partie de son programme d'installation. Vous ne pouvez pas distribuer dans tous les cas le
Fm20.dll comme partie de votre programme d'installation, même si vous
achetez le produit Developer Edition Microsoft Office...
TOUTEFOIS
Vous pouvez télécharger librement et installer le
Control Pad Microsoft ActiveX qui installe également le Fm20.dll comme
une alternative à l'installation de Microsoft Office..

Donc si je comprends bien,
on peut se servir de ces contrôles dans nos programmes à condition de ne pas mettre la dll dans le setup et d'installer le control Pad pour avoir le Fm20.dll à la fin de notre setup 
...
TBBUIM
Commenter la réponse de tbbuim1
Messages postés
7
Date d'inscription
lundi 5 janvier 2004
Statut
Membre
Dernière intervention
8 septembre 2006
0
Merci
mouai !!!


il me semble que la problematique de la redistribution du Form 2.0 est hors du sujet qui nous concerne, non?
ou bien est-ce que mon probleme de header dans les combobox provient du fait qu'il me manque une licence ?

Daniel
Commenter la réponse de daniel_gre
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
15
0
Merci
Je ne comprend toujours pas ta question...

Peux-tu être plus explicite ?


Il me semble que lorsqu'on veut mettre des entêtes à quelque chose, ça prend au moins les entêtes à quelque part, non ?


Alors pourquoi cette question sur l'argument non optionnel de AddItem ?

Dans un Combobox multi-colonne comme en Excel, tu peux déterminer le
nombre de colonne, s'il y a ou non des entêtes... Tu peux aussi
utiliser AddItem sans paramètre, tel quel, et ça ajoutera une ligne
vide. Avec la méthode que je te donnais, j'y insérais des valeurs mais
c'est libre à toi.


Tu pourrais le faire de façon plus dynamique, si nécessaire, en
utilisant une procédure contenant des paramètres optionnels et insérer
les entêtes selon les paramètres envoyés (?)


Une idée comme ça sans avoir tester... et sans comprendre vraiment le problème....¦¬)

MPi
Commenter la réponse de cs_MPi
Messages postés
7
Date d'inscription
lundi 5 janvier 2004
Statut
Membre
Dernière intervention
8 septembre 2006
0
Merci
 - La question est dans le message de debut,
 - Le 1ier message propose une solution non fonctionnelle puisque comme mentionne, MyCombo.AddItems doit avoir un argument,
 - Les autres messages ne corresponent en aucun cas a la question,
 - "Il me semble que lorsqu'on veut mettre des entêtes à quelque chose, ça prend au moins les entêtes à quelque part, non ?" ne repond pas non plus a la question...

merci quand meme pour ces deux tentatives d'inventions...

Daniel
Commenter la réponse de daniel_gre