Code erreur sur Excel VBA création de formulaire

Bonjour,

Je me suis lancée dans la création d'un formulaire personnalisé avec excel VBA mais je n'ai jamais pratiqué VBA ...

Mon formulaire est crée et lorsque je le teste avec F5 j'ai un code erreur sur un script qui me bloque.

Option Explicit

Dim Ws As Worksheet

Private Sub ComboBox2_Change()

End Sub

'Pour le formulaire

Private Sub UserForm_Initialize()

Dim J As Long

Dim I As Integer

ComboBox2.ColumnCount = 1 'Pour la liste déroulante Civilité

ComboBox2.List() = Array(" ", " M. ", " Mme ", " Mlle ")

Set Ws = Sheets("Base") 'Correspond au nom de votre onglet dans le fichier Excel

With Me.ComboBox1

For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row

.AddItem Ws.Range("A" & J)

Next J

End With

For I = 1 To 38

Me.Controls("TextBox" & I).Visible = True 'affiche les données dans les textbox

Next I

End Sub

Si quelqu'un pouvait m'aider avant que je jette le pc par la fenêtre ...

Merci d'avance

Sandrine

Bonjour,

Je ne vois rien d'anormal dans l'instruction en cause.

Es-tu certaine que les 38 contrôles TextBox (TextBox1 à TextBox38) existent réellement ?

A+

Bonjour

Sans le fichier pas évident

Sans le message d'erreur pas évident

Peut-être n'as tu pas 38 TextBox ?

Bonjour frangy

.

Bonjour

J'ai modifié le fichier depuis hier et j'ai maintenant 46 textbox mais le résultat ne fonctionne toujours pas. De plus je ne sais pas pourquoi mais je n'arrive pas à avoir la textbox39, quand je veux la renommer le message "Nom ambigu" s'affiche.

En fait j'ai crée un formulaire et je souhaite pouvoir ajouter des contacts au tableau par le formulaire et inversement obtenir le formulaire en cliquant sur un contact dans le tableau.

Mais ça ne fonctionne pas ! grrrr

je joins le fichier sachant que pour pouvoir le joindre j'ai été obligée de le raccourcir ! Dans mon fichier initial j'ai bien toutes les colonnes qui correspondent à chaque case du formulaire (dans excel je vais jusqu'à la colonne AU)

Je vous remercie par avance pour votre aide !

Bonne journée

Sandrine

Bonjour,

En respectant la syntaxe Me.Controls("TextBox" & I), tout semble correct

A+

Bonjour

Juste pour répondre à

sansan714 a écrit :

De plus je ne sais pas pourquoi mais je n'arrive pas à avoir la textbox39

Ta TextBox39 est bien présente elle est sur/sous (ensemble) avec la TextBox35 (Profession)

Merci beaucoup Banzai et Frangy !

J'ai encore quleques petites questions :

Quand je modifie un contact sur le formulaire, je saisis mes infos et je clique sur modifier. La il bloque sur le script :

If Me.Controls("TextBox" & I).Visible = True Then

Je vous remets le script complet :

'Pour le bouton Modifier

Private Sub CommandButton2_Click()

Dim Ligne As Long

Dim I As Integer

If MsgBox(" Confirmez-vous la modification de ce contact ? ", vbYesNo, " Demande de confirmation de modification ") = vbYes Then

If Me.ComboBox1.ListIndex = -1 Then Exit Sub

Ligne = Me.ComboBox1.ListIndex + 2

Ws.Cells(Ligne, "B") = ComboBox2

For I = 1 To 46

If Me.Controls("TextBox" & I).Visible = True Then

Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)

End If

Next I

End If

End Sub

Et mon dernier point ce serait de pouvoir remettre le formulaire "à vide" quand je saisis un nouveau n° de contact.

Merci encore de votre aide précieuse !

Sandrine

Bonjour

Tu joins ton fichier à jour des différentes modifications

Tu y indiques les actions à faire pour arriver à l'erreur

Rechercher des sujets similaires à "code erreur vba creation formulaire"