Retranscrire une donnée formulaire par rapport à une date

Bonjour,

J'aurais besoin d'une petite aide concernant un programme VBA Excel. J'ai créer un formulaire de saisie manuelle et je suis bloqué au moment de retranscrire les données du formulaire dans le tableau Excel. Ci joint mon fichier excel.

J'aimerais que, selon la date inscrite dans le formulaire, les données inscrites se positionnent dans la cellule prévue à cet effet dans mon tableau.

Par exemple, si le 2 juin, il y a eu une fabrication de 1000, j'aimerais que le résultat de 1000 se positionne dans la ligne fabrication et dans la colonne 2/06/2016.

J'ai essayé de le faire avec une fonction recherche (find), mais je suis bloqué et cela ne fonctionne pas bien.

En vous remerciant d'avance pour votre aide, et en vous souhaitant une bonne journée,

Bien cordialement,

Alex

Bonjour Aleexs, bonjour le forum,

Essaie comme ça :

Private Sub BTN_enregistrer_Click()
Dim D As Date 'déclare la variable D (Date)
Dim R As Range 'déclare la varaible R (Recherche)

With Me.tb_date 'prend en compte la textbox td_date
    If Not IsDate(.Value) Then 'condition : si la valeur ne correspond pas à une date
        MsgBox "Date non valide !" 'message
        .SetFocus 'plac ele curceur
        .SelStart = 0 'début de la sélection
        .SelLength = Len(.Value) 'longueur de la sélection
    End If 'fin de la condition
End With 'fin de la prise en compte de la de textbox td_date
D = Format(Me.tb_date, "yyyy/mm/dd") 'définit la date D (il faut toujours convertir la date au format américain pour retrouver l'équivalent dans un tableau)
Set R = Worksheets("Saisie").Rows(2).Find(D, , xlValues, xlWhole) 'définit la recherche R (recherche la date D dans la ligne 2 de l'onglet "Saisie")
If Not R Is Nothing Then 'condition : si il existe au moins une occurrence trouvée
    R.Offset(1, 0).Value = Me.tb_fab.Value 'renvoie la valeur de la textbox td_fab dans la cellule de la première occurrence trouvé décalée d'une ligne vers le bas
    R.Offset(2, 0).Value = Me.tb_planning.Value 'renvoie la valeur de la textbox td_planning dans la cellule de la première occurrence trouvé décalée de deux lignes vers le bas
Else 'sinon
    MsgBox "Date non trouvé" 'message
End If 'fin de la condition
End Sub

Merci beaucoup pour votre réponse ! Cela marche parfaitement.

Bonne fin de journée,

Alex

Bonjour,

Je reviens vers vous car j'ai une autre petite question: Comment puis-je adapter le code avec des semaines ?

C'est à dire que au lieu des dates, nous avons des formulaires en fonction de semaine ? et donc en fonction de la semaine inscrite dans le formulaire, la valeur ira dans la semaine correspondante.

Merci d'avance pour votre aide

Alex

Bonsoir Aleexs, bonsoir le forum,

Le code est suffisamment commenté, il me semble, pour que tu puisses l'adapter tout seul... Fait une proposition et si tu n'y arrives pas je jetterai un coup d'œil...

Bonjour,

Voici le code que j'ai adapter à ma problématique de semaine. Vous parait-il bien ?

Dim R As Range 

Set R = Worksheets("Saisie").Rows(6).Find(Me.tb_sem.Value, , xlValues, xlWhole) 
If Not R Is Nothing Then 
    R.Offset(1, 0).Value = Me.tb_fab.Value
    R.Offset(2, 0).Value = Me.tb_planning.Value 
Else
    MsgBox "Semaine non trouvée"
End If
Rechercher des sujets similaires à "retranscrire donnee formulaire rapport date"