Les contrôles et VB - Lancement (Débutant)

angelspeed

XLDnaute Junior
Bonjour,

je débute en script VB et je rencontre un problème de base pour chaque script que je faits : ils ne se lance pas à l'ouverture du fichier. Je suis obligé d'aller dans VB et de faire F5.

Ce doit être tellement de base que j'ai pas réussi à trouver sur le forum...

Pour info, il s'agit de contrôles ActiveX et mes scripts sont simples :

- une combobox avec tri alphabétique

Private Sub UserForm_Initialize()
Feuil6.ComboBox1.Clear
Feuil6.ComboBox1.List() = Sheets("Outils").Range("A4:A7").Value
Feuil6.ComboBox1.List = ListSort(Feuil6.ComboBox1.List)
End Sub

-> la liste déroulante n'est pas remplie (juste le choix effectué avant la fermeture)

Question supplémentaire : comment faire pour que le champ soit vide au démarrage plutôt que d'avoir la dernière sélection enregistrée ?

- une animation Flash :

Private Sub Flash_lancement()
ShockwaveFlash1.Movie = "G:\Documents\OoN\logo.swf"
ShockwaveFlash1.Play
ShockwaveFlash1.Quality2 = "High"
ShockwaveFlash1.ScaleMode = 3
End Sub

-> le flash ne se lit pas, la propriété playing est toujours sur False

Merci pour votre aide.
 

Dranreb

XLDnaute Barbatruc
Re : Les contrôles et VB - Lancement (Débutant)

Bonjour
Il n'existe pas d'évènement UserForm_Initialize dans les modules de WorkSheet. L'équivalent le plus proche c'est Worksheet_Activate, ou peut être plutôt un Workbook_Open dans ThisWorkbook, ça dépend comment on voit les choses.
Encore une fois, consultez les listes déroulantes qui surmontent la fenêtre de code pour trouver les objets liés disponibles et leurs évènements, et installer les modèles de procédures qui les gèrent.

À+
 
Dernière édition:

angelspeed

XLDnaute Junior
Re : Les contrôles et VB - Lancement (Débutant)

Bonjour Dranreb

le code marche maintenant (j'ai édité mon message précédent sans voir votre réponse) avec un ComboBox1_Change() pour charger les images et le chargement de la Combobox dans un module.

Par contre pourriez-vous me dire :
- s'il est possible de mettre ne surbrillance des éléments de la liste ou de mettre des barres de séparation dans la combobox
- comment éviter que les images soient floutées dans le contrôle ActiveX image1 ?

Merci
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Les contrôles et VB - Lancement (Débutant)

s'il est possible de mettre ne surbrillance des éléments de la liste ou de mettre des barres de séparation dans la combobox
À ma connaissance ce n'est pas possible
comment éviter que les images soient floutées dans le contrôle ActiveX image1 ?
Chercher du coté des propriétés de l'image, il y a des chances que l'une d'elles arrange les choses.
À+
 

angelspeed

XLDnaute Junior
Re : Les contrôles et VB - Lancement (Débutant)

Le pb pour les images c'est que j'ai cherché partout et je vois rien qui a un effet sur ce floutage, puisqu'il disparait qd je clique sur le contrôle image (???)

A ta connaissance est-il possible de faire une combobox avec des sous-menus alors ? J'entends par la une liste de catégories qui ouvrent une liste de produits.
Si non, il faudrait passer par quoi pour créer un telle liste déroulante ? si c'est possible bien sur
 

Dranreb

XLDnaute Barbatruc
Re : Les contrôles et VB - Lancement (Débutant)

Une ListView vous apporterait plus de souplesse, incontestablement...
Edit: ...Qu'une ListBox. Mais vous parlez de ComboBox pas de ListBox.
Dans ce cas il en faut 2: une pour choisir la rubrique, et une autre pour choisir la sous rubrique, dont la liste est constituée lors du changement de la 1ère.
À+
 
Dernière édition:

angelspeed

XLDnaute Junior
Re : Les contrôles et VB - Lancement (Débutant)

Je vais faire des recherches sur ListView alors. Merci

EDIT : en effet ça ressemble à ce que je veux par contre c'est une fenêtre qui va s'ouvrir, ce que je ne veux pas.
Il n'y a pas un cnotrôle qui existe pour faire ce que je veux sans pop-up ?
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Les contrôles et VB - Lancement (Débutant)

Non, c'est une deuxième ComboBox, vous ne voulez pas que le choix de la catégorie reste affiché dans une première ? Dans ce cas on pourrait se débrouiller avec une seule en indiquant si elle marche en mode choix de catégorie ou choix de produit, mais ça me paraît nettement moins clair pour l'utilisateur.
On peut aussi mettre tous les choix possibles de produits tout simplement, à condition qu'il n'y en ait pas d'identiques dans des catégorie différentes. Après tout dans une combobox on n'est pas obligé de choisir dans la liste: un début tapé d'une valeur existante de la liste en fait proposer la suite affichée.
 
Dernière édition:

angelspeed

XLDnaute Junior
Re : Les contrôles et VB - Lancement (Débutant)

Pour le moment tous les produits sont dedans, soit une cinquantaine pour 5 catégories, mais ça va s'étendre dans l'avenir (pas de doublons)
Le problème c'est que la la mollette de la souris ne joue par sur la liste de la combobox mais sur la feuille de calcul... problème connu d'après ce que j'ai pu lire et pas très simple à résoudre.

Comme vous le dites, il y aurait la possibilité de mettre 2 combobox : une pour les catégories qui détermine l'autre pour les produits mais je vous rejoins que ce n'est pas très clair pour l'utilisateur et qu'il faut faire 2 combo pour avoir un produit.

J'avais pensé aussi mettre une combobox par catégorie (le premier produit de la liste étant le nom de la catégorie et la valeur par défaut). Le problème c'est que pour les calculs ultérieurs les 5 doivent avoir une LinkedCell identique et qu'une seule doit renvoyer un résultat à la cellule, les 4 autres devant se "désactiver" et reprendre leur valeur par défaut dès que l'on clique sur l'autre.
J'ai essayé aujourd'hui en changeant les LinkedCell des 4 autres et en alternant suivant le click sur chaque combobox mais ce n'est pas très concluant.
Du fait de la réinitialisation le 1er clic sur un produit ne fonctionne pas (la combo recharge la valeur par défaut) et faut recliquer sur le produit pour que le choix fonctionne.

Il y aurait-il un moyen de faire cela ? cad 5 combo sur une même LinkedCell avec prise en compte uniquement de celle sur laquelle on clique et remise en même temps des valeurs par défaut (=nom de la catégorie) pour les 4 autres, dc un changement de leur LinkedCell je pense.
 

angelspeed

XLDnaute Junior
Re : Les contrôles et VB - Lancement (Débutant)

Bonjour,

on s'est peut être mal compris, je parle de la cellule cible de la Combobox qui est utilisé pour les calculs ensuite. La valeur de cette cellule détermine la recherche des tarifs présents sur une autre feuille grâce à une RECHERCHEV

Je ne sais pas si cela se fait "normalement" pour les puristes ou si c'est moi qui "bidouille" ne maitrisant pas assez voir si peu VB.

Voici un fichier exemple mais la permutation bug... en fait je sais même pas si c'est possible de le faire
 

Pièces jointes

  • Exple_ComboBox.xlsm
    30 KB · Affichages: 45
  • Exple_ComboBox.xlsm
    30 KB · Affichages: 47
  • Exple_ComboBox.xlsm
    30 KB · Affichages: 48

Dranreb

XLDnaute Barbatruc
Re : Les contrôles et VB - Lancement (Débutant)

Et bien là au moins, avec un fichier joint on voit tout de suite où il faut vous dépanner.
Vous avez implanté des combobox shapes de la veille barre d'outils formulaire dont la programmation se fait par procédures standard affectées à leurs propriétés OnAction.
Or votre programmation, plus moderne, requiert des vrais ComboBox de la boîte à outils contrôles.
À+
 

Dranreb

XLDnaute Barbatruc
Re : Les contrôles et VB - Lancement (Débutant)

Alors c'est que quelque chose se passe mal à conversion en .xls
Ils sont manipulables comme des shapes alors que je ne suis pas en mode création, et je n'en vois aucune trace dans la fenêtre Objet.
Mais je ne peux pas non plus leur affecter de macro. En fait chez moi ils ne ressemblent ni a l'un ni à l'autre. Ils sont plus inertes que n'importe quoi d'autre.
Désolé
Cordialement.
 

angelspeed

XLDnaute Junior
Re : Les contrôles et VB - Lancement (Débutant)

En effet y a un problème, je ne peux pas y toucher moi sans le mode création.

J'ai converti le fichier en xls. J'espère que vous pourrez l'ouvrir correctement.

Cordialement.
 

Pièces jointes

  • Exple_ComboBox.xls
    52.5 KB · Affichages: 48

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 763
dernier inscrit
p.michaux