[VBA] Problème de programmation

Fermé
grace - 15 juil. 2008 à 15:01
Ivan-hoe Messages postés 433 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 17 octobre 2008 - 15 juil. 2008 à 15:38
Bonjour,

j'ai deux petites questions concernant mon programme. ce dernier me permet de remplir une base de données Excel. L'utilisateur rempli les différents champs (textbox et combobox) et quand il clique sur enregistrer, je veux que ces données soient mises à la suite des autres (déja existante).

Or avec le programme suivant, mes données sont mises à la ligne 14! or j'ai déja 1500 lignes de remplies, il faudrait donc que cela s'enregistre à la ligne 1501!

D'autre part, je souhaite rajouter une boucle qui me permette de vérifier si le numéro saisie en textbox1 n'est pas existant dans la colonne A de ma base de donnée. Si c'est le cas :enregistrer les données à la suite sinon afficher un message d'erreur ("ce numero existe déja")

Le programmme est le suivant :
Private Sub Enregistrer_Click()
If TextBox1.Value = "" Then
MsgBox "Il faut entrer un numero d'étiquette"
ElseIf ComboBox1.Value = "" Then
MsgBox "Choisir un responsable secteur dans la liste"
ElseIf ComboBox2.Value = "" Then
MsgBox "Choisir un secteur dans la liste"
ElseIf ComboBox3.Value = "" Then
MsgBox "Choisir une ligne dans la liste"
ElseIf ComboBox4.Value = "" Then
MsgBox "Choisir un type d'étiquette dans la liste"
ElseIf ComboBox5.Value = "" Then
MsgBox "Déterminer la criticité de l'étiquette"
ElseIf TextBox4.Value = "" Then
MsgBox "Il faut entrez une date d'émission"
ElseIf Not IsDate(TextBox4.Value) Then
MsgBox "Entrer une date au format jj/mm/aaaa"
Else
'Enregistrement des valeurs entrées par l'utilisateur dans le registre'
Dim x As Integer
x = 4
While Range("A" & x).Value <> ""
x = x + 1
Wend
'enlever le mot de passe du classeur'
Worksheets("Registre").Unprotect Password:="tpm2008"
Sheets("Registre").Range("A" & x).Value = Me.TextBox1.Value
Sheets("Registre").Range("B" & x).Value = Me.ComboBox1.Value
Sheets("Registre").Range("C" & x).Value = Me.ComboBox2.Value
Sheets("Registre").Range("D" & x).Value = Me.ComboBox3.Value
Sheets("Registre").Range("E" & x).Value = Me.TextBox2.Value
Sheets("Registre").Range("F" & x).Value = Me.TextBox3.Value
Sheets("Registre").Range("K" & x).Value = Me.ComboBox4.Value
Sheets("Registre").Range("L" & x).Value = Me.ComboBox5.Value
Sheets("Registre").Range("G" & x).Value = Me.TextBox4.Value
Sheets("Registre").Range("I" & x).Value = Me.TextBox5.Value
Sheets("Registre").Range("J" & x).Value = Me.TextBox6.Value
'protection de la feuille "registre"'
Worksheets("Registre").Protect Password:="tpm2008"
'remise à 0 de tous les champs de l'application'
TextBox1.Value = ""
ComboBox1.Value = ""
ComboBox2.Value = ""
ComboBox3.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
ComboBox4.Value = ""
ComboBox5.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
TextBox6.Value = ""
End If
End Sub


Je vous remercie par avance
A voir également:

1 réponse

Ivan-hoe Messages postés 433 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 17 octobre 2008 309
15 juil. 2008 à 15:38
0