Formulaire

Chtnmlb

XLDnaute Nouveau
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

  • Copie de Formulaire.xls
    45.5 KB · Affichages: 68
  • Copie de Formulaire.xls
    45.5 KB · Affichages: 70
  • Copie de Formulaire.xls
    45.5 KB · Affichages: 71

CmzxNéné

XLDnaute Nouveau
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
@+


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
 

Robert

XLDnaute Barbatruc
Repose en paix
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:

Chtnmlb

XLDnaute Nouveau
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,
 

Discussions similaires

Réponses
18
Affichages
642

Statistiques des forums

Discussions
312 312
Messages
2 087 159
Membres
103 484
dernier inscrit
maintenance alkern