Problème sur l'ajout d'une ligne dans un tableau

Bonjour à tous,

Commençant le VBA, je bloque sur l'ajout d'une ligne à l'enregistrement de mon formulaire. J'ai un tableau reprenant toutes les infos du formulaire, mais à l'enregistrement, au lieu de passer à la ligne suivante, il se remet sur la dernière ligne et efface donc le précédant ajout.

Auriez-vous une idée du problème ?

Ma première colonne étant en chiffre, je me demande si ce ne serait ça qui bloque. Mais je n'ai pas trouver quoi faire...

Voici le code en question :

Private Sub ButtonEnregistrer_Click()

'message pour que tout les champs soient remplis

If TBDate = "" Or TBNom = "" Or TBCodePostal = "" Or TBTel = "" Or TBMail = "" Or TBComp1 = "" Or TBComp2 = "" Or TBComp3 = "" Or TBDip1 = "" Or TBDip2 = "" Or TBComm = "" Or ComboBox1 = "" Then

MsgBox ("Merci de remplir tous les champs")

Else

Range("A9").Select

Selection.End(xlDown).Select ' position sur la première ligne non vide

Selection.Offset(1, 0).Select ' décale d'une ligne vers le bas

' indique où doivent être saisie les informations

ActiveCell = TBDate.Value

ActiveCell.Offset(0, 1).Value = TBNom

ActiveCell.Offset(0, 2).Value = TBCodePostal

ActiveCell.Offset(0, 3).Value = TBTel

ActiveCell.Offset(0, 4).Value = TBMail

ActiveCell.Offset(0, 5).Value = TBComp1

ActiveCell.Offset(0, 6).Value = TBComp2

ActiveCell.Offset(0, 7).Value = TBComp3

ActiveCell.Offset(0, 8).Value = TBDip1

ActiveCell.Offset(0, 9).Value = TBDip2

ActiveCell.Offset(0, 10).Value = ComboBox1 'Qualif

ActiveCell.Offset(0, 11).Value = TBComm

End If

End Sub

Merci d'avance pour le coup de pouce !

Bonjour Samath,

Essaye ça !

Private Sub ButtonEnregistrer_Click()

'message pour que tout les champs soient remplis
If TBDate = "" Or TBNom = "" Or TBCodePostal = "" Or TBTel = "" Or TBMail = "" Or TBComp1 = "" Or TBComp2 = "" Or TBComp3 = "" Or TBDip1 = "" Or TBDip2 = "" Or TBComm = "" Or ComboBox1 = "" Then
MsgBox ("Merci de remplir tous les champs")

Else

Dim L As Long
L = Range("A10000").End(xlUp).Row + 1

' indique où doivent être saisie les informations
Range("A" & L) = TBDate.Value
Range("B" & L).Value = TBNom
Range("C" & L).Value = TBCodePostal
Range("D" & L).Value = TBTel
Range("E" & L).Value = TBMail
Range("F" & L).Value = TBComp1
Range("G" & L).Value = TBComp2
Range("H" & L).Value = TBComp3
Range("I" & L).Value = TBDip1
Range("J" & L).Value = TBDip2
Range("K" & L).Value = ComboBox1 'Qualif
Range("L" & L).Value = TBComm

End If
End Sub

Cordialement,

IB

Bonjour le fil, bonjour le forum,

En prenant le code du pote Iron, si tu veux partir de haut, remplace :

L = Range("A10000").End(xlUp).Row + 1

par :

L = IIf(Range("A10").Value = "", 10, Range("A9").End(xlDown).Row + 1)

Bonjour et merci à IronBoule et ThauThème pour vos réponses.

Le code fonctionne !

Si d'autres personnes passent par là, il y avait juste une petite inversion sur la première ligne de range:

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

et non

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

Merci encore pour le sauvetage !!

Rechercher des sujets similaires à "probleme ajout ligne tableau"