XL 2010 Problème VBA

lesvahas

XLDnaute Nouveau
Bonsoir à tous,

J'ai créé un fichier client mais j'ai une erreur VBA que je n'arrive pas à solutionner.
Vous pouvez me dire ou j'ai fait une erreur, car je ne suis pas encore un pro VBA.

Merci d'avance

Sylvain
 

Pièces jointes

  • Fichier client.xlsx
    8.7 KB · Affichages: 24

lesvahas

XLDnaute Nouveau
Bonsoir lone-wolf,

je te t'envoie mon texte VBA pour ce fichier client. DSL pour cette erreur!!!!!!!!!!!
Option Explicit

Dim Ws As Worksheet

‘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(« Clients ») ‘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(« Clients »).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(« B » & L).Value = ComboBox2

Range(« C » & 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

Merci beaucoup à toi.

Sylvain
 

Lone-wolf

XLDnaute Barbatruc
Re à tous

Bon bein, comme d'habitude, dans ce genre de cas.... En PJ (et il y a un formulaire :cool:) .

EDIT: pour modifier le client, sélectionne-le avec la combobox Nom Complet, le code client est fait avec la 1ère lettre du nom et du prénom + un numéro; je n'ai pas mis de msgbox, je te laisse le soin de le finaliser.
 

Pièces jointes

  • Fichier client.xlsm
    28.7 KB · Affichages: 24
Dernière édition:

Statistiques des forums

Discussions
314 643
Messages
2 111 528
Membres
111 176
dernier inscrit
claude.mve