Bonjour à tous,
Dans le fichier ci-joint voici mon problème:
Ma userform1 de la feuil "CRM" fonctionne et pas de problème. La combobox liste déroulante "sélectionner le nom du contact" a pour source la colonne C de la feuil "CRM"
Ma userform2 de la feuil "HEBDO" ne fonctionne pas comme je voudrais: lorsque je souhaite "lancer" ma userform, un message d'erreur "erreur d'exécution '2147024809(80070057) " apparait.
J'ai par hasard changé le nom de ma UserForm_Initialize() en UserForm2_Initialize()
cela me permet de lancer ma userform 2, mais dans ma combobox combobox liste déroulante "sélectionner le nom du contact" (source = colonne C de la feuil "CRM" également) quand je souhaite sélectionner un nom, aucun contact n'apparait...
Je suis complètement bloqué pourriez-vous m'aider?
Le fichier étant trop gros, voici le code pour le userform1
"Option Explicit
Dim Ws As Worksheet 'Pour le formulaire
Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer
Set Ws = Sheets("CRM") 'Correspond au nom de votre onglet dans le fichier Excel
With Me.ComboBox1
For J = 3 To Ws.Range("C" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("C" & J)
Next J
End With
For I = 1 To 26
Me.Controls("TextBox" & I).Visible = True
Next I
End Sub
Private Sub ComboBox1_Change()
Dim Ligne As Long
Dim I As Integer
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 3 'numéro de ligne à partir de laquelle on est dans le tableau de données
For I = 1 To 26 'nombre de TEXTBOX = 26
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I)
Next I
End Sub"
et voici le code pour le userform2 à insérer
"Option Explicit
Dim Ws As Worksheet 'Pour le formulaire
Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer
Set Ws = Sheets("CRM") 'Correspond au nom de votre onglet dans le fichier Excel
With Me.ComboBox1
For J = 3 To Ws.Range("C" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("C" & J)
Next J
End With
For I = 1 To 26
Me.Controls("TextBox" & I).Visible = True
Next I
End Sub
Private Sub ComboBox1_Change()
Dim Ligne As Long
Dim I As Integer
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 3 'numéro de ligne à partir de laquelle on est dans le tableau de données
For I = 1 To 26 'nombre de TEXTBOX = 26
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I)
Next I
End Sub"
Par avance merci,
Cédric
Dans le fichier ci-joint voici mon problème:
Ma userform1 de la feuil "CRM" fonctionne et pas de problème. La combobox liste déroulante "sélectionner le nom du contact" a pour source la colonne C de la feuil "CRM"
Ma userform2 de la feuil "HEBDO" ne fonctionne pas comme je voudrais: lorsque je souhaite "lancer" ma userform, un message d'erreur "erreur d'exécution '2147024809(80070057) " apparait.
J'ai par hasard changé le nom de ma UserForm_Initialize() en UserForm2_Initialize()
cela me permet de lancer ma userform 2, mais dans ma combobox combobox liste déroulante "sélectionner le nom du contact" (source = colonne C de la feuil "CRM" également) quand je souhaite sélectionner un nom, aucun contact n'apparait...
Je suis complètement bloqué pourriez-vous m'aider?
Le fichier étant trop gros, voici le code pour le userform1
"Option Explicit
Dim Ws As Worksheet 'Pour le formulaire
Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer
Set Ws = Sheets("CRM") 'Correspond au nom de votre onglet dans le fichier Excel
With Me.ComboBox1
For J = 3 To Ws.Range("C" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("C" & J)
Next J
End With
For I = 1 To 26
Me.Controls("TextBox" & I).Visible = True
Next I
End Sub
Private Sub ComboBox1_Change()
Dim Ligne As Long
Dim I As Integer
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 3 'numéro de ligne à partir de laquelle on est dans le tableau de données
For I = 1 To 26 'nombre de TEXTBOX = 26
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I)
Next I
End Sub"
et voici le code pour le userform2 à insérer
"Option Explicit
Dim Ws As Worksheet 'Pour le formulaire
Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer
Set Ws = Sheets("CRM") 'Correspond au nom de votre onglet dans le fichier Excel
With Me.ComboBox1
For J = 3 To Ws.Range("C" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("C" & J)
Next J
End With
For I = 1 To 26
Me.Controls("TextBox" & I).Visible = True
Next I
End Sub
Private Sub ComboBox1_Change()
Dim Ligne As Long
Dim I As Integer
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 3 'numéro de ligne à partir de laquelle on est dans le tableau de données
For I = 1 To 26 'nombre de TEXTBOX = 26
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I)
Next I
End Sub"
Par avance merci,
Cédric