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)

Ça va mieux comme ça.
Je reste persuadé que 2 ComboBox, un pour la catégorie, un pour le produit restent la meilleure solution. Il faut alimenter la liste du second lors du changement du premier. Plusieurs idées sont envisageables. Une au hasard: des noms de plages couvrant les propuits des différentes catégories "Cat01", "Cat02" etc. Les 2 derniers chiffres étant le ListIndex du choix dans la 1ère Combo. Une autre idée: pourquoi ne pas mettre en face de chaque catégorie =LIGNE(La cellule catégorie): le ListIndex du premier combo donnerait le numéro-1 du premier produit, le Listindex+1 le dernier-1, la différence le nombre de ligne à spécifier au Resize. Une autre: Donner un nom toujours le même pour la plage des produit d'une catégorie mais définissant non pas une plage fixe mais une formule =DECALER(... qui renvoit à la bonne partie de la liste de produits. Les solutions sont nombreuses.
À+
 

Statistiques des forums

Discussions
312 429
Messages
2 088 350
Membres
103 822
dernier inscrit
kader55