Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2560 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Combobox et function

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Combobox et function

n°1970777
yeram
Posté le 03-03-2010 à 09:47:38  profilanswer
 

Bonjour,
 
Je voudrais faire appel à une fonction pour remplir mes combobox (60 combobox à remplir, autant utiliser une fonction ou procédure) en VBA.
Mais j'ai une erreur lors de l'exécution.
Voici mon code :
 

Code :
  1. private Sub Worksheet_Activate()
  2.     Dim NBfais As Integer
  3.     NBfrais = 4     
  4.     If ComboBox1.ListCount <> NBfrais Then
  5.         List (ComboBox1)
  6.     End If
  7. End Sub
  8. Function List(ByVal NameComboBox As ComboBox) As Boolean
  9.         NameComboBox.AddItem "Dogs"
  10.         NameComboBox.AddItem "Cats"
  11.         NameComboBox.AddItem "Mice"
  12.         NameComboBox.AddItem "Other"
  13. End Function


 
Le même principe fonctionne en VB.
Auriez vous une idée ?
 
Merci,
yeram

mood
Publicité
Posté le 03-03-2010 à 09:47:38  profilanswer
 

n°1970817
galopin01
Posté le 03-03-2010 à 11:46:43  profilanswer
 

Les Fonctions VBA ne fonctionnent pas comme ça. utilise une (sous) procédure.
 

Code :
  1. Private Sub Worksheet_Activate()
  2.    Dim NBfais As Integer
  3.    NBfrais = 4
  4.    If ComboBox1.ListCount <> NBfrais Then
  5.         ListA ComboBox1
  6.    End If
  7. End Sub
  8. Sub ListA(ByVal NameComboBox As ComboBox)
  9.         NameComboBox.AddItem "Dogs"
  10.         NameComboBox.AddItem "Cats"
  11.        NameComboBox.AddItem "Mice"
  12.         NameComboBox.AddItem "Other"
  13. End Sub


 
... A moins d'utiliser une fonction qui renvoie un Array : ça je n'ai pas essayé ! c'est pitêtre une sottise...
A+


Message édité par galopin01 le 03-03-2010 à 11:47:02
n°1970851
yeram
Posté le 03-03-2010 à 14:04:29  profilanswer
 

OK, merci Galopin1
Quelqu'un a déjà fais un boucle pour remplir plusieurs Combobox ?
 
genre :

Code :
  1. Private Sub Worksheet_Activate()     
  2.     For i = 1 To 62
  3.          If combo.ListCount <> NBList() Then
  4.               ListAutreFrais ComboBox&i
  5.         End If
  6.     Next i   
  7. End Sub


Message édité par yeram le 03-03-2010 à 14:05:18
n°1970893
yeram
Posté le 03-03-2010 à 16:38:46  profilanswer
 

Voici la réponse :

Code :
  1. Option Explicit
  2. Private Sub Worksheet_Activate()
  3.    
  4.     Dim OleObj As OLEObject
  5.    
  6.     For Each OleObj In Feuil1.OLEObjects
  7.        If OleObj.Object.ListCount <> NBList() Then
  8.             List OleObj.Object
  9.         End If
  10.     Next
  11.  
  12. End Sub


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Combobox et function

 

Sujets relatifs
Liste dans ComboboxWarning: mail() [function.mail]: Permission denied: headers injection
Effacer une ligne d'une combobox VB6 sous XP[wxWidgets] La macro WXDLL_ENTRY_FUNCTION
macro creation autormatique combobox VBPure virtual function call
Gerer un evenement suite à une selection dans un ComboBoxErreur de la Function Filemtime()
utiliser une variable d'un combobox FlashCall to a member function on a non-object
Plus de sujets relatifs à : Combobox et function


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR