Incrementation id formulaire

Signaler
Messages postés
2
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
23 septembre 2020
-
Messages postés
2
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
23 septembre 2020
-
Bonjour,
je sais que ca à certainement dejas ete demandé mais je ne trouve pas de solution sur les forum ou du moins il semble y avoir des tonne de facon de faire...

je voudrais incrementer un numero id a chaque ouverture d'un formulaire, ce que j'ai enfin reussi a faire en suivant un tuto... mon probleme est que le numero 1 apparait bien mais il reste sur 1! car je n'arrive pas a inserer la derniere ligne du tuto a savoir:

Feuil3.Cells(derligne, 30) = Val(TextBox24)

cela me met une erreur 1004.

ci joint mon VBA sachant qu'il y à un commandboutton2 identique avec .show
d'avance merci.


Private Sub CommandButton1_Click()

'Feuil3.Cells(derligne, 30) = Val(TextBox24)

'message erreur case non remplie
If TextBox1 = "" Or TextBox2 = "" Or TextBox3 = "" Or TextBox8 = "" Or TextBox12 = "jj/mm/aaaa" Or TextBox14 = "" Or TextBox17 = "" Or TextBox18 = "" Then
MsgBox ("les informations: nom, prénom, n°ss, sexe, date entrée, coef et H.hebdo sont indispensables !")
Else
'si tout est bon, remplir tableau
If Sheets("PERSONNEL").Range("b4") = "" Then
Sheets("PERSONNEL").Range("b4") = TextBox1
Else
'si tableau dejas remplis, creer une nouvelle ligne en bas
Sheets("PERSONNEL").ListObjects(1).ListRows.Add
End If
'enregistrement sur la derniere ligne de tableau
dlt = Sheets("PERSONNEL").Range("d1048576").End(xlUp).Row

'affectation case formulaire / tableau
Sheets("PERSONNEL").Range("b" & dlt) = TextBox1
Sheets("PERSONNEL").Range("c" & dlt) = TextBox2
Sheets("PERSONNEL").Range("e" & dlt) = TextBox3
Sheets("PERSONNEL").Range("d" & dlt) = TextBox4
Sheets("PERSONNEL").Range("g" & dlt) = TextBox5.Value
TextBox5 = Format(TextBox5, "mm/dd/yyyy")
Sheets("PERSONNEL").Range("f" & dlt) = TextBox6
Sheets("PERSONNEL").Range("v" & dlt) = TextBox7
Sheets("PERSONNEL").Range("h" & dlt) = TextBox8
Sheets("PERSONNEL").Range("i" & dlt) = CheckBox5
Sheets("PERSONNEL").Range("z" & dlt) = TextBox9
Sheets("PERSONNEL").Range("aa" & dlt) = TextBox10
Sheets("PERSONNEL").Range("ab" & dlt) = TextBox11
Sheets("PERSONNEL").Range("x" & dlt) = TextBox12
Sheets("PERSONNEL").Range("y" & dlt) = TextBox13
Sheets("PERSONNEL").Range("k" & dlt) = TextBox14.Value
TextBox14 = Format(TextBox12, "mm/dd/yyyy")
Sheets("PERSONNEL").Range("l" & dlt) = TextBox15.Value
TextBox15 = Format(TextBox15, "mm/dd/yyyy")
Sheets("PERSONNEL").Range("j" & dlt) = TextBox16
Sheets("PERSONNEL").Range("w" & dlt) = TextBox17
Sheets("PERSONNEL").Range("s" & dlt) = TextBox18
Sheets("PERSONNEL").Range("m" & dlt) = TextBox19
Sheets("PERSONNEL").Range("n" & dlt) = TextBox20
Sheets("PERSONNEL").Range("o" & dlt) = CheckBox1
Sheets("PERSONNEL").Range("p" & dlt) = CheckBox2
Sheets("PERSONNEL").Range("q" & dlt) = CheckBox3
Sheets("PERSONNEL").Range("r" & dlt) = CheckBox4
Sheets("PERSONNEL").Range("t" & dlt) = TextBox21
Sheets("PERSONNEL").Range("u" & dlt) = TextBox22
Sheets("PERSONNEL").Range("ac" & dlt) = TextBox23
Sheets("PERSONNEL").Range("ad" & dlt) = TextBox24

Unload UserForm1

End If
End Sub


Configuration: Windows / Chrome 85.0.4183.102

2 réponses

Messages postés
14785
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
28 septembre 2020
580
Bonjour

merci de lire ceci https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code, et d'éditer ton texte pour l'appliquer
Messages postés
2
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
23 septembre 2020

vraiment désolé, le voici...

Private Sub CommandButton1_Click()

'Feuil3.Cells(derligne, 30) = Val(TextBox24)

'message erreur case non remplie
If TextBox1 = "" Or TextBox2 = "" Or TextBox3 = "" Or TextBox8 = "" Or TextBox12 = "jj/mm/aaaa" Or TextBox14 = "" Or TextBox17 = "" Or TextBox18 = "" Then
MsgBox ("les informations: nom, prénom, n°ss, sexe, date entrée, coef et H.hebdo sont indispensables !")
Else
'si tout est bon, remplir tableau
If Sheets("PERSONNEL").Range("b4") = "" Then
Sheets("PERSONNEL").Range("b4") = TextBox1
Else
'si tableau dejas remplis, creer une nouvelle ligne en bas
Sheets("PERSONNEL").ListObjects(1).ListRows.Add
End If
'enregistrement sur la derniere ligne de tableau
dlt = Sheets("PERSONNEL").Range("d1048576").End(xlUp).Row

'affectation case formulaire / tableau
Sheets("PERSONNEL").Range("b" & dlt) = TextBox1
Sheets("PERSONNEL").Range("c" & dlt) = TextBox2
Sheets("PERSONNEL").Range("e" & dlt) = TextBox3
Sheets("PERSONNEL").Range("d" & dlt) = TextBox4
Sheets("PERSONNEL").Range("g" & dlt) = TextBox5.Value
TextBox5 = Format(TextBox5, "mm/dd/yyyy")
Sheets("PERSONNEL").Range("f" & dlt) = TextBox6
Sheets("PERSONNEL").Range("v" & dlt) = TextBox7
Sheets("PERSONNEL").Range("h" & dlt) = TextBox8
Sheets("PERSONNEL").Range("i" & dlt) = CheckBox5
Sheets("PERSONNEL").Range("z" & dlt) = TextBox9
Sheets("PERSONNEL").Range("aa" & dlt) = TextBox10
Sheets("PERSONNEL").Range("ab" & dlt) = TextBox11
Sheets("PERSONNEL").Range("x" & dlt) = TextBox12
Sheets("PERSONNEL").Range("y" & dlt) = TextBox13
Sheets("PERSONNEL").Range("k" & dlt) = TextBox14.Value
TextBox14 = Format(TextBox12, "mm/dd/yyyy")
Sheets("PERSONNEL").Range("l" & dlt) = TextBox15.Value
TextBox15 = Format(TextBox15, "mm/dd/yyyy")
Sheets("PERSONNEL").Range("j" & dlt) = TextBox16
Sheets("PERSONNEL").Range("w" & dlt) = TextBox17
Sheets("PERSONNEL").Range("s" & dlt) = TextBox18
Sheets("PERSONNEL").Range("m" & dlt) = TextBox19
Sheets("PERSONNEL").Range("n" & dlt) = TextBox20
Sheets("PERSONNEL").Range("o" & dlt) = CheckBox1
Sheets("PERSONNEL").Range("p" & dlt) = CheckBox2
Sheets("PERSONNEL").Range("q" & dlt) = CheckBox3
Sheets("PERSONNEL").Range("r" & dlt) = CheckBox4
Sheets("PERSONNEL").Range("t" & dlt) = TextBox21
Sheets("PERSONNEL").Range("u" & dlt) = TextBox22
Sheets("PERSONNEL").Range("ac" & dlt) = TextBox23
Sheets("PERSONNEL").Range("ad" & dlt) = TextBox24

Unload UserForm1

End If
End Sub