Problème avec un userform

jfanfan

XLDnaute Nouveau
Bonsoir

J'ai récupéré ce bout de code que j'ai adapté pour charger un combobox

je voudrai qu'il s'exécute au démarrage du Userform mais cela ne fonctionne pas...

Par contre si dans le Userform j'insère un bouton et que je click dessus
Private Sub btnAccept_Click()
en lançant la même procédure cela fonctionne ??

Pourquoi je ne sais pas..

Avez-vous un début d'explication à me proposer?

Merci d'avance



___________________________________________________________

'Private Sub Userform_Initialize()

Dim AppExcel As Object ' Variable objet Application Excel
Dim FeuilleXL As Object
Dim intRangee As Integer
Dim blnRang As Boolean
Dim File_Excel As String
Dim Sheet_Excel As String



File_Excel = "C:\0000\ELBOWS.xls"
Sheet_Excel = "TABLE"

' on récupère le nom du fichier
If Dir$(File_Excel) = "" Then
MsgBox "ATTENTION : le fichier Excel n'existe pas !", 16
Exit Sub
End If
cboExcel.Clear

On Error Resume Next
' Ouvre le fichier Excel
Set AppExcel = GetObject(File_Excel)
' Sinon il y a une erreur
If Err <> 0 Then
MsgBox "Impossible d'ouvrir le fichier '" & File_Excel & "' !"
Exit Sub
End If
' Entrez ici le nom de la feuille
Set FeuilleXL = AppExcel.Worksheets(Sheet_Excel)
If Err <> 0 Then
MsgBox "Impossible d'ouvrir la feuille " & Sheet_Excel & " !"
Exit Sub
End If
'Desactivation du gestionnaire d'erreur
On Error GoTo 0
intRangee = 2 ' rangée de départ
blnRang = True ' drapeau cellule non vide
While blnRang = True
intRangee = intRangee + 1
If FeuilleXL.Cells(intRangee, 1) = "" Then
blnRang = False
Else
cboExcel.AddItem FeuilleXL.Cells(intRangee, 1)
End If
Wend
Me.cboExcel.ListIndex = 0
Me.cboExcel.SetFocus
End Sub
 
Dernière édition:

Gorfael

XLDnaute Barbatruc
Re : Problème avec un userform

Salut jfanfan et le forum
Pas envie de regarder ta macro, et comme tu dis qu'elle fonctionnece ne doit pas être nécessaire. Utilises les balises de code #.
À priori, tu as mis une apostrophe en début du titre. C'est sans doute une erreur de recopie.
Dans la feuille de macro du ton UserForm en haut :
Case de gauche : tu sélectionnes Userform
Case de droite : tu sélectionnes Initialize
Ce qui te créeras la macro :
Code:
Private Sub Userform_Initialize()

End Sub
Un point d'arrêt sur la ligne du titre et tu testes en lançant ton USF.
Il ne te reste plus qu'à inserer le reste de ton code.
A+
 

Arpette

XLDnaute Impliqué
Re : Problème avec un userform

Bonsoir

J'ai récupéré ce bout de code que j'ai adapté pour charger un combobox

je voudrai qu'il s'exécute au démarrage du Userform mais cela ne fonctionne pas...

Par contre si dans le Userform j'insère un bouton et que je click dessus
Private Sub btnAccept_Click()
en lançant la même procédure cela fonctionne ??

Pourquoi je ne sais pas..

Avez-vous un début d'explication à me proposer?

Merci d'avance



___________________________________________________________

'Private Sub Userform_Initialize()

Dim AppExcel As Object ' Variable objet Application Excel
Dim FeuilleXL As Object
Dim intRangee As Integer
Dim blnRang As Boolean
Dim File_Excel As String
Dim Sheet_Excel As String



File_Excel = "C:\0000\ELBOWS.xls"
Sheet_Excel = "TABLE"

' on récupère le nom du fichier
If Dir$(File_Excel) = "" Then
MsgBox "ATTENTION : le fichier Excel n'existe pas !", 16
Exit Sub
End If
cboExcel.Clear

On Error Resume Next
' Ouvre le fichier Excel
Set AppExcel = GetObject(File_Excel)
' Sinon il y a une erreur
If Err <> 0 Then
MsgBox "Impossible d'ouvrir le fichier '" & File_Excel & "' !"
Exit Sub
End If
' Entrez ici le nom de la feuille
Set FeuilleXL = AppExcel.Worksheets(Sheet_Excel)
If Err <> 0 Then
MsgBox "Impossible d'ouvrir la feuille " & Sheet_Excel & " !"
Exit Sub
End If
'Desactivation du gestionnaire d'erreur
On Error GoTo 0
intRangee = 2 ' rangée de départ
blnRang = True ' drapeau cellule non vide
While blnRang = True
intRangee = intRangee + 1
If FeuilleXL.Cells(intRangee, 1) = "" Then
blnRang = False
Else
cboExcel.AddItem FeuilleXL.Cells(intRangee, 1)
End If
Wend
Me.cboExcel.ListIndex = 0
Me.cboExcel.SetFocus
End Sub

Bonjour JFanfan, mettre le code ci-dessous dans ThisWorkbook. Remplace FSaisie par le nom de ton Userform
@+
Code:
Private Sub Workbook_Open()
Excel.Application.Visible = False
FSaisie.Show
End Sub
 

Statistiques des forums

Discussions
312 178
Messages
2 085 980
Membres
103 079
dernier inscrit
sle