VBA: Transfert de données du formulaire sur Feuille Excel

Bonjour,

J'aimerais avoir l'aide de la communauté sur ce sujet; c'est à dire que j'aimerais transférer mes données de mon formulaire sur la feuille "Données" sans que les saisies précédentes ne disparaissent et ne soient remplacées par les nouvelles saisies au formulaire. Il faut que chaque saisie se succède ligne par ligne.

Pouvez vous m'aider à élaborer le code pour mon fichier?

Merci beaucoup!

Et j'ai aussi une autre problématique mais qui ne concerne pas forcement ce sujet mais on ne sait jamais si c'est rapide et simple à faire, je l'explique quand même: dans mon formulaire, les utilisateurs doivent sélectionner plusieurs réponses ou non (utilisation de checkbox) mais je souhaiterais mettre un message d'erreur si aucune checkbox n'est cochée. Cependant, je n'y arrive pas, mais par contre, peut être est il plus simple d’utiliser une listbox dans mon cas?

J'ai fais le test avec une listBox et j'ai bien réussi à mettre un message d’erreur, cependant je n'arrive pas à transférer mes données cochées par l’utilisateur dans ma feuille "Données", c'est pour cela que j'ai utilisé les checkbox.

Si quelqu'un à une solution pour me simplifier mon formulaire, ce serait génial! Merci

Bonne journée à vous tous!!

Voici mon fichier !

Bonjour et bienvenue sur le forum

Premier problème :

Quand dans la macro associée au bouton ‘’Valider’’ tu mets comme instruction :

Sheets("Données").Range("A21").Value = TextBoxDemandeur

La valeur de ton TextBox s’écrira toujours à la cellule A21

Si tu veux qu’elle s’écrive à la ligne suivante, il te faut chercher quel est le numéro de cette ligne suivante.

On le détermine et le met dans une mémoire ex lgn avec une instruction de ce style :

lgn = Sheets("Données").Range("A" & Rows.Count).End(xlUp).Row + 1

Mais il y a un autre problème, du fait que quand tu vas écrire la première valeur, lgn vaudra 20. Or, tu ne veux pas écrire dans une cellule fusionnée (la peste pour les macros)

Tu vas donc donner à lgn la valeur maximale entre celle donnée par l’instruction indiquée ci-dessus et la valeur 21. Ce qui donnera :

lgn = Application.Max(21,Sheets("Données").Range("A" & Rows.Count).End(xlUp).Row + 1) 

Dès lors, ton instruction initiale deviendra :

Sheets("Données").Range("A" & lgn).Value = TextBoxDemandeur

OK ?

Bye !

Bonjour GMB,

Merci pour ta réponse clair et précise, malheureusement, je n'arrive pas à appliquer ta solution.

--> "Erreur d’exécution 1004"

Serait il possible pour toi de me faire l'exemple sur mon fichier directement?

Merci!

Nossila a écrit :

Serait il possible pour toi de me faire l'exemple sur mon fichier directement?

De l'explication à la pratique. Voilà :

Bye !

Merci Beaucoup! c'est parfait!

Bonne journée!

Rechercher des sujets similaires à "vba transfert donnees formulaire feuille"