Insérer une Combobox au milieu de Textbox

Bonjour à tous,

étant novice en VBA, je me résoud à vous demander un peu d'aide pour débloquer ma situation. Voici un code pour faire fonctionner un formulaire sur mon fichier Excel, issu d'un tuto du web.

Mon problème est que je souhaite échanger la saisie d'une combobox et d'une textbox pour coller à mon tableau initial. Ca fonctionne pour la saisie mais ca bug pour la liste de recherche et pour la modification. Ca décale ou ca change les valeurs.

Qqu verrait une solution?

Un grand merci et bonne soirée

Option Explicit

Dim Ws As Worksheet

'Bouton supprimer

Private Sub CommandButton4_Click()

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

Rows([A2:A65536].Find(ComboBox1.Value).Row).EntireRow.Delete

Unload Me

UserForm1.Show

End If

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("Masculin", "Féminin")

Set Ws = Sheets("Registre") '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 7

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

Next I

End Sub

'Pour la liste d?roulante Code client

Private Sub ComboBox1_Change()

Dim Ligne As Long

Dim I As Integer

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

Ligne = Me.ComboBox1.ListIndex + 2

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

For I = 1 To 7

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

Next I

End Sub

'Pour le bouton Nouveau contact

Private Sub CommandButton1_Click()

Dim L As Integer

If MsgBox("Confirmez-vous l'insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then

L = Sheets("Registre").Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement ? la premi?re ligne de tableau non vide

Range("A" & L).Value = ComboBox1

Range("C" & L).Value = ComboBox2

Range("B" & L).Value = TextBox1

Range("D" & L).Value = TextBox2

Range("E" & L).Value = TextBox3

Range("F" & L).Value = TextBox4

Range("G" & L).Value = TextBox5

Range("H" & L).Value = TextBox6

Range("I" & L).Value = TextBox7

End If

End Sub

'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 7

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

'Pour le bouton Quitter

Private Sub CommandButton3_Click()

Unload Me

End Sub

Bonsoir,

Tu peux déjà commencer par mettre ton code sous balises Code, de façon à éviter que l'on se fatigue inutilement pour le lire.

Et par la même occasion un fichier ne sera pas inutile...

Cordialement.

Bonsoir rminimi,

difficile à saisir...

je souhaite échanger la saisie d'une combobox et d'une textbox

Joins un fichier, même raboté, en y illustrant ce que tu souhaites. Nous ne pouvons pas toujours deviner ce que nous ne voyons pas!

A+

Okay j'essaie comme cela.

Désolé ca ne me parle pas le "balise Code", svp ne rigolez pas trop

ps registre
18registre3.xlsm (32.59 Ko)

Au dessus de la fenêtre de rédaction, il y a des boutons, tu les regardes, tu trouves celui marqué Code. Tu sélectionnes ton code et tu cliques sur ce bouton, il sera encadré de balises Code, et à la validation du post le code apparaîtra dans une fenêtre...

En éditant ton premier post, tu peux donc le faire !

Rechercher des sujets similaires à "inserer combobox milieu textbox"