Microsoft 365 Copier/Coller les saisies TextBox sur une feuille Excel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Arthur EXL

XLDnaute Nouveau
Bonjour à tous,

Je recherche à faire un fichier de saisie de donnée, pour que les données saisies à l'aide d'une interface UserForm soient collées dans une feuille du fichier Excel.
Cette action se produira après pression sur le bouton "Validation". La date de saisit doit aussi apparaître sur la feuille au niveau de la ligne.
Et à chaque saisie, il faudrait que si on refait une saisie par la suite, elle soit collée en dessous de la ligne précédente (j'espère être suffisamment précis)
Il faudrait également que lorsque l'on presse sur "Validation", un message de confirmation apparaisse. Un message d'erreur si une cellule n'est pas remplie.

Pouvez-vous m'apporter votre aide ?

Merci par avance pour toute pistes.
Voici mon fichier actuel.

Arthur EXL
 

Pièces jointes

Dernière édition:
Re,

Alors j'ai trouvé comment récupérer les données des TextBox et les coller dans la feuille "Données" :
VB:
Private Sub VALITATION_Click()

Sheets("Données").Range("A5").Value = TextJableMax01
Sheets("Données").Range("B5").Value = TextJableMoy01
Sheets("Données").Range("C5").Value = TextJableMin01
Sheets("Données").Range("D5").Value = TextTLMax01
Sheets("Données").Range("E5").Value = TextTLMoy01
Sheets("Données").Range("F5").Value = TextTLMin01
Sheets("Données").Range("G5").Value = TextEpauleMax01
Sheets("Données").Range("H5").Value = TextEpauleMoy01
Sheets("Données").Range("I5").Value = TextEpauleMin01
Sheets("Données").Range("J5").Value = TextJableMax02
Sheets("Données").Range("K5").Value = TextJableMoy02
Sheets("Données").Range("L5").Value = TextJableMin02
Sheets("Données").Range("M5").Value = TextTLMax02
Sheets("Données").Range("N5").Value = TextTLMoy02
Sheets("Données").Range("O5").Value = TextTLMin02
Sheets("Données").Range("P5").Value = TextEpauleMax02
Sheets("Données").Range("Q5").Value = TextEpauleMoy02
Sheets("Données").Range("R5").Value = TextEpauleMin02

End Sub
Ma question maintenant c'est comment je peux faire en sorte que quand je clique sur le bouton "VALIDATION", ca contrôle que la saisie est bien numérique uniquement, comment ca peut effacer la contenu des textbox si la saisie est correcte (pour pouvoir saisir de nouveau), et comment la prochaine saisie pourra s'afficher sur la ligne suivante ? (ex A6)

Merci pour tout aide...
 
Bonjour
Voici un début de solution .... tu aurais cherché un peu tu aurais trouvé
Sinon je te laisse le soin de copier/coller la sub des "keypress" de chaque textbox , j'en ai fait 2 !!

edit : Pour moi il faudrait redimensionner l'USF et tous les objets .. trop grand alors qu'en plus la police des textbox est toute petite
 

Pièces jointes

Bonjour à toi,

Merci pour ta solution !
J'ai trouvé pas mal d'informations depuis mon message de ce matin... Voici le code si ca peu aider ;
VB:
Private Sub VALITATION_Click()

'Gérer les copier/coller TextBox vers Cellules "Données"
Dim OK As Boolean, TB As Variant, LR&
OK = True
For Each TB In Me.Controls
    If TypeOf TB Is MSForms.TextBox And Not IsNumeric(TB) Then
        OK = False
        TB.Value = ""
    End If
Next TB
If OK = False Then
    MsgBox "Merci de renseigner des valeurs numérique dans les champs vides", vbCritical
    Else
    With Worksheets("Données")
        LR = .Cells(.Rows.Count, 3).End(xlUp).Row + 1
        .Cells(LR, 3) = Now
        .Cells(LR, 4) = TextJableMax01 * 1
        .Cells(LR, 5) = TextJableMoy01 * 1
        .Cells(LR, 6) = TextJableMin01 * 1
        .Cells(LR, 7) = TextTLMax01 * 1
        .Cells(LR, 8) = TextTLMoy01 * 1
        .Cells(LR, 9) = TextTLMin01 * 1
        .Cells(LR, 10) = TextEpauleMax01 * 1
        .Cells(LR, 11) = TextEpauleMoy01 * 1
        .Cells(LR, 12) = TextEpauleMin01 * 1
        .Cells(LR, 13) = TextJableMax02 * 1
        .Cells(LR, 14) = TextJableMoy02 * 1
        .Cells(LR, 15) = TextJableMin02 * 1
        .Cells(LR, 16) = TextTLMax02 * 1
        .Cells(LR, 17) = TextTLMoy02 * 1
        .Cells(LR, 18) = TextTLMin02 * 1
        .Cells(LR, 19) = TextEpauleMax02 * 1
        .Cells(LR, 20) = TextEpauleMoy02 * 1
        .Cells(LR, 21) = TextEpauleMin02 * 1
        .Cells(LR, 22) = Now
        .Cells(LR, 23) = (TextJableMoy01 * 1 + TextJableMoy02 * 1) / 2
        .Cells(LR, 24) = (TextTLMoy01 * 1 + TextTLMoy02 * 1) / 2
        .Cells(LR, 25) = (TextEpauleMoy01 * 1 + TextEpauleMoy02 * 1) / 2

    End With
    MsgBox "Export terminé", vbInformation
End If

End Sub
Il permet donc d'afficher les valeurs saisies, mais également d'autoriser uniquement la saisie numérique.
Il permet également de calculer et d'afficher une moyenne entre deux valeurs.

Merci encore pour ta réponse,
Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour