Bonjour à toutes et à tous,
Dans un formulaire UfGestTemps je saisi des données dans des TextBox que je transfère dans un TS en cliquant sur le bouton "Valide".
Les données sont bien transférées, mais pas au bon endroit puisqu'elles écrasent la ligne des en-têtes, hors elles devraient être en-dessous.
Je ne comprends pas ce qui se passe puisque j'ai déjà utilisé ce code et il fonctionnait, mais là... J'ai dû zapper quelque chose.
Pouvez-vous m'éclairer s'il vous plaît ?
Je vous en remercie par avance.
Dans un formulaire UfGestTemps je saisi des données dans des TextBox que je transfère dans un TS en cliquant sur le bouton "Valide".
Les données sont bien transférées, mais pas au bon endroit puisqu'elles écrasent la ligne des en-têtes, hors elles devraient être en-dessous.
Je ne comprends pas ce qui se passe puisque j'ai déjà utilisé ce code et il fonctionnait, mais là... J'ai dû zapper quelque chose.
Pouvez-vous m'éclairer s'il vous plaît ?
Je vous en remercie par avance.
VB:
Private Sub But_Valider_Click()
Dim Ctrl As Control
Application.ScreenUpdating = False
'On transfére les données dans la feuille "Liste_agents"
'On déprotège la feuille
DeProtege ("Liste_agents")
'On cherche dans la colonne 1 si le code existe déjà
'Si c'est le cas un message annonce que l'employé(e) existe déjà
'Sinon, on crée une nouvelle ligne pour inscrire l'employé(e)
With Sheets("Liste_agents").ListObjects("t_Noms")
Set Trouve = .ListColumns(1).Range.Find(Me.Txt_Code, lookat:=xlWhole)
If Not Trouve Is Nothing Then
MsgBox "Cet(te) employé(e) existe déjà !"
Exit Sub
Else
.ListRows.Add
LastlLine = .ListRows.Count
.DataBodyRange(LastLine, 1) = Me.Txt_Code.Value 'Le code dans la 1ère colonne
.DataBodyRange(LastLine, 2) = Me.Txt_Nom.Value 'Le NOM dans la 2ème colonne
.DataBodyRange(LastLine, 3) = Me.Txt_Prénom.Value 'Le Prénom dans la 3ème colonne
.DataBodyRange(LastLine, 4) = Me.Txt_Temps.Value 'Le temps de travail dans la 4ème colonne
End If
End With
'Dans la feuille les colonnes sont en largeur automatique
Sheets("Liste_agents").Columns.AutoFit
'On reprotège la feuille
Protege ("Liste_agents")
'On efface les données se trouvant dans les TextBox du formulaire
For Each Ctrl In Me.MultiPage1.Pages(0).Controls
Select Case TypeName(Ctrl)
Case "TextBox"
Ctrl.Value = ""
End Select
Next Ctrl
'La TextBox Txt_Nom prend le focus
Me.Txt_Nom.SetFocus
End Sub