Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion Chtnmlb
  • Date de début Date de début

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 !

C

Chtnmlb

Guest
Bonjour tout le monde,

Je suis en train de créer un formulaire pour alimenter une base. Le formulaire devrait se trouver en premier onglet et les champs renseignés sont reportés sur une ligne dans un tableau en second onglet.
Je saurai créer une macro qui efface le formulaire en fin de saisie mais je ne sais pas comment faire pour que l'enregistrement suivant se fasse sur la ligne en dessous (dans la base).
Si quelqu'un sait comment faire cela m'arrangerait bien, ou une meilleure idée pour structurer la démarche. Je joins un fichier

Merci
 

Pièces jointes

Re : Formulaire

Bonjour Chtnmlb,

Je viens de faire un formulaire qui est tout à fait ce que tu recherches.
J'ai en revanche créé un USERFORM à partir d'un tuto super bien expliqué et le résultat est super.
J'ai posé plein de question sur les forums et je suis satisfait de mon développement alors que je ne connaissais pas encore il y a 15 jours le VBA.
le tuto, tu peux le trouver à cette adresse :
Ce lien n'existe plus
Je sais que ce mot ne te servira pas pour ton fichier mais c'est une info que je voulais te faire passer.
Bon courage
@+


 
Re : Formulaire

Bonjour fsfwsf, bonjour le forum,

touver la première ligne vide d'un tableau est assez simple avec ce type de code :
Code:
Dim plv As Integer 'déclare la variable plv (Première Ligne Vide)
plv = Sheets("Feuil1").Range("A65536").End(xlUp).Offset(1, 0).Row 'définit la première ligne vide
Mais tu as bien compliqué les choses en utilisant des comboboxes (zones de liste déroulante) de la barre d'outils Formulaires... Il faut soit aller récupérer l'info en recherchant l'équivalent de la cellule lié dans un tableau de l'onglet liste, soit directement dans la cellule. Ce mélange des genres complique pas mal le code car au lieu d'un simple copier/coller du résultat :
Code:
Sheets("Feuil1").Range("B" & plv).Value = Sheets("Formulaire").Range("A5").Value
il faudra un code de ce type :
Code:
Sheets("Feuil1").Range("A" & plv).Value = Sheets("Listes").Range("A2:A4").Find(Sheets("Formulaire").Range("L5").Value, , xlValues, xlWhole).Offset(0, 1)
Je te conseillerais de nommer tes plages de références dans l'onglet Listes pour simplifier le code ou alors, carrément, de supprimer les combobxes et les remplacer par des cellules avec validation de données...

Édition :

Ooops asdfsf (mais qu'est-ce vos avez tous à avoir des pseudos aussi dur a retenir/écrire ???) je n'avais pas rafraîchi... Bonjour donc. Je préfère aussi l'option Userform...
 
Dernière édition:
Re : Formulaire

Merci CmzxNéné et Robert!
Le tuto est très bien, je m'y suis mis. Le userform est en effet bien plus adapté. Il se peut que je rencontre d'autres questions. Si vous le permettez je vous les reposerai plus tard.

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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
23
Affichages
668
Réponses
2
Affichages
410
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…