Problème de macro pour formulaire
bonsoir j'ai un petit problème qui a surement une solution mais comme débutant je suis au pied du mur et je me demande comment passer de l'autre coté.
je remplis un tableau a l'aide d'un formulaire qui fonctionne a une exeptio prés. quand je selectionne par une checkbox la fonction nouveau client de mon formulaire dans la case numero client (label12 de mon code) il me met soit 1 soit le numero de reference pour la numerotation de mes client alors que je souhaiterai qu'il me rajoute le numero suivant (si dernier client disponible 1001) qu'il m'intègre directement dans cette case le numero 1002 et ainsi de suite.
voici mon code , je pense que mon problème vien de la fonction création, il doit me manquer quelque chose :
Option Explicit
Dim n As Long, u As Long
Public Xcel As Long
Dim Client1 As Range, Tableau As Range
Dim Lgn As Range
Private Sub UserForm_Initialize() ' [1] INITIALISE USERFORM (Départ)
ComboBox3.Visible = False
Label12.Visible = False
End Sub
Private Sub CheckBox1_Change() 'CREATION
Xcel = Cells(1, 2) + 1
Label12 = Xcel
Select Case CheckBox1.Value
Case True: Label12.Visible = True
ComboBox3.Visible = False
Frame1.Visible = False
Case False: Label12.Visible = False
CheckBox2.Visible = True
Frame1.Visible = True
End Select
End Sub
Private Sub CheckBox2_Change() 'MODIFICATION
Dim plage As Range
With Worksheets("Liste_clients")
Set Client1 = .Range("A3")
Set plage = .Range(Client1, .Range("A65536").End(xlUp))
Set Tableau = plage.Resize(, 10)
End With
ComboBox3.List = plage.Value
Select Case CheckBox2.Value
Case True: Label12.Visible = False
ComboBox3.Visible = True
Frame2.Visible = False
Case False: Label12.Visible = False
ComboBox3.Visible = False
Frame2.Visible = True
ComboBox3 = ""
nom = ""
prenom = ""
code_postal = ""
adresse = ""
ville = ""
telephone = ""
mail = ""
comentaire = ""
End Select
End Sub
Private Sub Tpe_change()
Tpe.Text = Application.WorksheetFunction.Proper(Tpe.Text)
End Sub
Private Sub Statut_change()
Statut = UCase(Statut)
End Sub
Private Sub Denom_change()
Denom = UCase(Denom)
End Sub
Private Sub Nom_Change()
nom.Value = UCase(nom)
End Sub
Private Sub Prenom_Change()
prenom.Value = Application.WorksheetFunction.Proper(prenom.Value)
End Sub
Private Sub Adresse_Change()
adresse.Text = Application.WorksheetFunction.Proper(adresse.Text)
End Sub
Private Sub Code_Postal_Change()
code_postal.Value = Format(code_postal.Value, "00"" ""000")
End Sub
Private Sub VILLE_AfterUpdate()
ville.Value = UCase(ville)
End Sub
Private Sub Telephone_AfterUpdate()
telephone.Value = Format(telephone.Value, "00"" ""00"" ""00"" ""00"" ""00")
End Sub
Private Sub mail_Change()
mail.Value = LCase(mail)
End Sub
Private Sub Comentaire_Change()
comentaire.Value = LCase(comentaire)
End Sub
Private Sub CommandButton1_Click() ' AJOUTER
Dim ligne As Integer
If nom = "" Then Exit Sub
Sheets("liste_clients").Select
ligne = Range("B65536").End(xlUp).Row + 1
Range("A" & ligne).Value = Xcel
Range("B" & ligne).Value = nom.Value
Range("C" & ligne).Value = prenom.Value
Range("D" & ligne).Value = adresse.Value
Range("E" & ligne).Value = code_postal.Value
Range("F" & ligne).Value = ville.Value
Range("G" & ligne).Value = telephone.Value
Range("H" & ligne).Value = mail.Value
Range("I" & ligne).Value = comentaire.Value
Unload Me
'Range("A3:I" & Range("A65536").End(xlUp).Row).Select
'Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
'OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
'DataOption1:=xlSortNormal
Range("A1").Select
inscription.Show
End Sub
Private Sub fermer_Click() 'fermer
Unload Me
Sheets("facture").Select
End Sub
Private Sub ComboBox3_Change() '[2] LISTE des CODES
Dim Lgn
Lgn = ComboBox3.ListIndex + 1
With Tableau
Label12 = .Cells(Lgn, 1)
nom.Value = .Cells(Lgn, 2)
prenom.Value = .Cells(Lgn, 3)
adresse.Value = .Cells(Lgn, 4)
code_postal.Value = .Cells(Lgn, 5)
ville.Value = .Cells(Lgn, 6)
telephone.Value = .Cells(Lgn, 7)
mail.Value = .Cells(Lgn, 8)
comentaire.Value = .Cells(Lgn, 9)
End With
End Sub
Private Sub CommandButton4_Click() ' [3] MODIFIER
Dim Lgn
Lgn = ComboBox3.ListIndex + 1
If Lgn = 0 Then Exit Sub
With Tableau
.Cells(Lgn, 1) = ComboBox3
.Cells(Lgn, 2) = nom
.Cells(Lgn, 3) = prenom
.Cells(Lgn, 4) = adresse
.Cells(Lgn, 5) = code_postal
.Cells(Lgn, 6) = ville
.Cells(Lgn, 7) = telephone
.Cells(Lgn, 8) = mail
.Cells(Lgn, 9) = comentaire
End With
Range("A1").Select
Unload Me
Range("A2").Select
inscription.Show
End Sub
merci d'avance pour vos conseils
cedcyr
Bonjour
cedcyr a écrit :il doit me manquer quelque chose
Oui le fichier
Comment suivre le déroulement de ta macro ?
voici mon fichier tous ne fonctionne pas encore car pour le moment je finalise le bouton nouveau client je ferais les reste ensuite
merci
Bonjour
A voir si cela te convient
Private Sub CheckBox1_Change() 'CREATION
Xcel = Cells(1, 2) + 1
Label12 = Xcel
Select Case CheckBox1.Value
Case True
Label12.Caption = Application.Max(Sheets("liste_clients").Columns("A")) + 1
Label12.Visible = True
ComboBox3.Visible = False
Frame1.Visible = False
Case False: Label12.Visible = False
CheckBox2.Visible = True
Frame1.Visible = True
End Select
End Submerci beaucoup ca marche aller je continu mes autres fonction
cedcyr