Incrémenter une date via Textbox

Bonjour,

Pourriez-vous svp m'aider à trouver une solution pour incrémenter une date saisie dans une TextBox avec le nombre de jours saisir dans une autre

TextBox.

Je m'explique, un salarié "A1" = Nom salarié + "B1" = prénom salarié, prend des congés du 01/02/2020 (TextBox3) et pour 5 jours (TextBox4), je souhaiterais pouvoir, à la validation du UserForm que ma rangé "C" commence le "C1" = 01/02/2020 "C2" = 02/02/2020 "C3" = 03/02/2020 "C4" = 04/02/2020 "C5" = 05/02/2020.

Merci d'avance

Bonsoir Lyesse

Ceux qui veulent bien te répondre, n'ont pas forcément envie de recréer tout un fichier avec un USF

Merci d'en déposer un anonymisé avec juste 2 lignes et son USF

Sinon à la "one again", pour ajouter 5 jours à une date saisie dans Textbox1

Private Sub TextBox1_AfterUpdate()
 Me.TextBox2 = Format(DateValue(Me.TextBox1) + 5, "dd/mm/yyyy")
End Sub

@+

Bonsoir BrunoM45,

Veuillez m'excusez, je pensais qu'il y avait une procédure qu'on aurait pu me donner sans avoir à créer tout le fichier.

Mais le voici en pièce jointe pour que vous compreniez ce que je recherche.

Lorsque je saisie la date dans la txt_Date et le nombre de jours que dur la période de CP par exemple, du 14/09/2020 + 5 jours, sur la feuille Congés, la liste soit incrémentée du nom Salarié (Colonne B), date du 1er jour des congés au dernier jour avec toutes les dates et ensuite l'indispo se rajoute en colonne D.

Vous comprenez ce que je recherche ? Ce n'est pas la date + 5 jours = une seule date.

Merci d'avance

Il me faudrait une boucle je pense mais je ne sais pas comment la créer.

Bonjour lyesse et le forum,

Remettez ce code à la place du votre;

Private Sub img_Ajouter_Click()
Dim Last_Row As Integer
Dim Premiere_Date As Date
Dim Seconde_Date As Date
Dim Ligne As Long

Application.ScreenUpdating = False
Set WSC = Sheets("Conges")
Premiere_Date = txt_Date.Value
Lignes = txt_Jours
'Seconde_Date = Premiere_Date + Nb_Jours
With WSC
Last_Row = .Range("B" & Rows.Count).End(xlUp).Row + 1

.Range("B" & Last_Row).Value = cbx_Nom.Value
.Range("C" & Last_Row).Value = CDate(txt_Date.Value)
.Range("D" & Last_Row).Value = Cbx_Indispo.Value

For i = 1 To Lignes - 1
                    .Cells(Last_Row + i, "B") = cbx_Nom.Value
                    .Cells(Last_Row + i, "C") = CDate(txt_Date.Value) + i
                    .Cells(Last_Row + i, "D") = Cbx_Indispo.Value
                Next i
 End With
Application.ScreenUpdating = True

End Sub

Cdt

Henri

Super, ça marche Nickel.

Merci beaucoup vous êtes trop fort.

Merci pour ce retour.
Voici le code encore plus simple:

Private Sub img_Ajouter_Click()
    Dim Last_Row%, Nb_J%, i%
    Set WsC = Sheets("Conges")
    Application.ScreenUpdating = False
    Nb_J = CInt(txt_Jours)
        With WsC
            Last_Row = .Range("B" & Rows.Count).End(xlUp).Row + 1
            For i = 0 To Nb_J - 1
                .Range("B" & Last_Row + i) = cbx_Nom
                .Range("C" & Last_Row + i) = CDate(txt_Date) + i
                .Range("D" & Last_Row + i).Value = Cbx_Indispo
            Next i
        End With
        MsgBox ("Enregistrement réussi.")
    cbx_Nom = ""
    txt_Date = ""
    Cbx_Indispo = ""
    txt_Jours = ""
Application.ScreenUpdating = True

End Sub

Merci de noter le sujet comme résolu si satisfaction obtenue.
Cdt
Henri

il faut mette les % dans le dim ?

Bonjour,

% = Integer, comme &=Long et $= String
C'est une autre manière (plus courte) pour définir les variables.
Bon dimanche

Henri

Bonjour Henri,

Ah super je ne le savais pas.

Merci pour tout et bon dimanche à vous aussi

Rechercher des sujets similaires à "incrementer date via textbox"