Bonjour à tous !
Je me permets de venir poster sur ce forum, parce que j'ai un petit problème avec le développement de ma macro...
Pour mettre dans le contexte, je travaille actuellement un sur un fichier excel qui devrait permettre à mon entreprise de faire de la gestion de stock/parc utilisateur. Mon fichier excel, est composé de 4 feuilles.
La première contient les boutons qui permettent de lancer les UserForm.
La deuxième contient l'ensemble des entrées.
La troisième les références des équipements servant à peupler mes ComboBox, et la dernière feuille sert pour ma fonction recherche.
Aujourd'hui, je cherche à affecter la Macro d'ouverture de mon UserForm à un bouton (sur la première feuille). Le problème c'est que j'ai l'erreur Erreur d'exécution "1004" : Erreur définie par l'application ou l'objet. quand je clique sur le bouton après l'affectation à ma Macro qui lance le formulaire.
Sub Open_SaisieForm()
'
' Ouverture du fourmulaire de saisie
'
Load SaisieForm
SaisieForm.Show
End Sub
En cherchant d'où pouvait provenir le problème j'ai supprimé le contenu de mon UserForm_Initialize(). Et la MAGIE !!! Ça fonctionne. Je remets au fur à mesure le code qui était dedans et donc j'ai trouvé où ça coince... Voici le code :
Private Sub UserForm_Initialize()
'#############FONTIONNE PAS#############
'Fournisseurs
Dim A As Range, ListeFournisseurs As Range
Dim b As New Collection
'en considérant que les valeurs sont dans la colonne A
Set ListeFournisseurs = Sheets("REFERENCESMATERIELS").Range([A2], Sheets("REFERENCESMATERIELS").[A2].End(xlDown))
For Each A In ListeFournisseurs
On Error Resume Next
b.Add A, CStr(A)
If Err = 0 Then Fournisseur_ComboBox.AddItem (CStr(A))
On Error GoTo 0
Next A
'#############FONTIONNE#############
'Status
Stock_OptionButton.Value = True
EnService_OptionButton.Value = False
HS_OptionButton.Value = False
'CLIENT
ClientNom_TextBox.Enabled = False
ClientTelephone_TextBox.Enabled = False
ClientAdresse_TextBox.Enabled = False
ClientCP_TextBox.Enabled = False
ClientVille_TextBox.Enabled = False
ClientMES_TextBox.Enabled = False
End Sub
Ce que je ne comprends pas, c'est que le code non fonctionnel, je l'utilise dans un ComboBox_Change(), et ça fonctionne parfaitement. De plus ce qui est bizarre (du moins pour moi), si je lance l'exécution depuis l'éditeur VBA avec une autre feuille de calcul ouverte (par exemple la 3eme), ça fonctionne...
Je pourrais filer le fichier ci nécessaire
En espérant avoir été compréhensible.
Merci par avance de votre aide