VBA - Formation : Formulaire de Saisie (Module 3)
HTML-код
- Опубликовано: 23 фев 2019
- *************************************************************
FORMATION EXCEL VBA - FORMULAIRE DE SAISIE
*************************************************************
Cette série de 3 tutoriels sous forme de vidéo explicative va vous montrer comment concevoir un formulaire de saisie vous permettant d'alimenter une base de données.
A la fin de ces 3 tutoriels, vous aurez tous les outils nécessaires pour enregistrer un nouvel enregistrement dans une base de données à partir d'un formulaire utilisateur.
Bon visionnage.
Pour télécharger le fichier source, cliquez sur le lien ci-dessous :
learnaccess.kneo.me/shop/view...
******************************************************
* Mon catalogue des produits :
learnaccess.kneo.me/shop
******************************************************
Bien cordialement *********************************************************************************************************
Utiliser mon lien de parrainage pour acheter un produit Tesla et obtenir des crédits gratuits :
- kilomètres gratuits en Superchargeur
- des vêtements et accessoires.
ts.la/jeanpaul673722
*************************************************************************************************************
Merci infiniment M BONETTO Jean-Paul. Une superbe vidéo qui m'a permi aujourd'hui de saisir mon premier formulaire de saisie. Merci beaucoup pour l'excellent travail que vous faites
Vraiment un grand merci pour vos tutoriels qui sont de vrais cours.Merci.
C'est vraiment génial ce que vous faites! un grand merci à vous
merci beaucoup! c’est tellement bien expliqué!!!!j’avance tellement avec vos tuto! merci
16 000 vues et seulement 180 likes ... Quelle ingratitude pour la qualité de ces vidéos, ensuite les gens se plaignent que tout devient payant mais quand la qualité est au rdv, ces mêmes gens n'ont pas la moindre gratitude.
Merci énormément pour ce travail, vous m'avez épargné un temps sacré.
c’est malade ! moi je lui dit 1000 fois des pouces en l’air!
Extra !!! je vais visionner celà tranquillement, merci beaucoup :)
Vraiment super. Merci beaucoup. Clair, net et précis, avec en prime la satisfaction de pouvoir avancer en VBA. Bravo pour votre pédagogie !
Votre source est vide ?
Essayez de mettre un enregistrement à la main et ensuite le second avec le formulaire
Regardez si l'erreur existe toujours ?
Bonjour monsieur , tout d’abord un grand merci pour vos précieux conseils. Une vidéo pour un tableau de production ( matin / après midi / nuit ) et par date 🙌🏻
Merci pour ce cours. C'était très aidant
Merci infiniment Mr Jean-paul pour cette supet formation
Pour moi qui suis un novice dans Excel et bien Bravo ..Très bien expliqué 👍..J’ai fait cet exercice pendant le confinement et réussi..Et bonne Année 2021 🥂🍾
Super! Merci beaucoup pour ce tuto , excellente pédagogie
Bonjour Monsieur, je suis très contant de suivre cette vidéo; laquelle nous apprend les formulaires de saisie
Merci pour la série
Toujours aussi expliqué. Vos vidéos sont bien expliquée et facile à suivre. Une demande que j'aimerai vous soumettre, est-ce qu'il serait possible que vous fassiez une vidéo d'un formulaire VBA en utilisant les cases à cocher (CheckBox). Continuez comme ça et merci pour vos partages.
Un grand merci !!
tres beau travail.Grand Merci
Merci pour cette superbe série de vidéos ! Avec vos explications simples et claires j’ai réussi a créer mon formulaire! J’ai un petit problème au niveau de la procédure permettant d’initialiser le formulaire au démarrage, merci de bien vouloir m’aider! Mon formulaire serait ainsi parfait! Merci encore
Super merci, j'ai découvert de nouvelle cmd
Super !!! merci pour cette vidéo
cool merci pour vos effort
merci bcp
cela m´a vraiment aidé
Merci 😊
Merci beaucoup 👍
MERCI BIEN
merci BCP
Bonjour, merci beaucoup pour ce tutoriel. Il est très bien expliqué. J'aimerais savoir s'il est possible de sauvegarder les données du formulaire dans un fichier différent de celui utilisé pour lancer le formulaire. Si oui, comment faire. Merci beaucoup de votre aide.
J'espère que vous nous faire une série des module de formations en access création de BD Rh qui contient des salariés de base et des calculs des montants a déduire et le net a payer.
merci beaucoup
Bonjour
Merci pour ce tuto, je suis embêté car je veux ajouter les éléments de mon formulaire dans une feuille spécifique en fonction du menu déroulant du formulaire. Je m’explique: lors de ma demandé dans mon menu déroulant j’ai 5 choix possibles en fonction des besoins de maintenance. Je veux que si je choisi le choix 1, il m’ouvre l’onglet choix 1 avec les éléments du formulaire et cela pour les 5 choix en n’utilisant que le seul bouton crée qui est « valider la demande »
Merci pour votre retour
Excellent
Très intéressant...Très claire ...merci infiniment..
le code pour autre unité monétaire merci pour la formation je vraiment ravi
Merci pour votre travail remarquable et vos tutoriels savamment expliqués. Pourrais-je savoir quelle "astuce" introduire afin de pouvoir saisir sur plus d'une feuille, et ainsi éviter d'avoir à écrire autant de tests (if then) et de code que de feuilles ? Merci.
ABDELJELIL ABDELJELIL
Malheureusement si vous devez envoyer des données sur plusieurs feuilles
Il n’y a pas de miracle il faudra lui dire les noms des feuilles sur laque les mettre
@@Learnaccess Merci beaucoup !
Bonjour merci pour ces vidéos. C'est assez clair. Il aurait été intéressant la procédure de validation des données dans le formulaire avec les formats date et devise. Car selon le code développé ici, si on se trompe on part en débogage direct. Aussi, la partie de code avec NouvelID et max ne fonctionne pas chez moi. Serait-ce parceque je suis sous la version 2016 ?
Si fonction max ne fonctionne pas
C’est parce que vos numéros ne sont pas au format numérique
Vérifiez
Bonjour, super tuto. ça ma beaucoup servit pour mon formulaire, j'ai pu faire ce que je voulais. Merci. Par contre, j'aimerai bien formater les champs du formulaire: N° de téléphone et séparateur de milliers mais je n'ai pas les codes. D'avance merci.
piece piece2
J’ai fait un tuto qui explique comment formater les champs d’un formulaire
Bonjour monsieur Bonnetto.
Merci pour vos tutos très très bien expliqués.
Par contre j'ai des chiffres comportant une décimale, chiffre rentré avec le point du clavier numérique.
Quand je valide le formulaire avec CCur pour respecter les formats de cellules, le point donne un champs texte et j'ai donc une erreur 13 et l'arrêt de la procédure de sauvegarde.
J'ai cherché sur le net, mais je n'arrive pas à une solution qui fonctionne.
J'ai aussi regardé votre tuto sur les formats des nombre en VBA, mais je n'arrive pas faire de manière à ce que cela fonctionne.
Si vous pouviez m'aider, je pense que cela intéressera aussi d'autres personnes.
Encore merci pour ce que vous faites.
Bonjour,
Vous êtes sur un Excel Anglais ?
Sinon, si français, lorsque vous saisissez une montant dans un TextBox, il faut le saisir avec une , pour la décimale et non un point (comme en anglais)
Bonjour, j'ai une souci de code erreur 1004 a l'enregistrement sur la base de données (coup de main possible?) merci 1000 fois
Bonjour,
Avant ma question, je vous remercie pour tout les tutoriels que vous mettez à disposition, ils sont une mine d'or !
Ma question est la suivante comment faire si je souhaite enregistrer les données saisies dans mon formulaire dans différentes feuilles de mon fichier ? Suis-je obligée de récrire la feuille, la ligne et les données ?
Merci
Bonjour,
J'ai fait une vidéo sur le sujet :
ruclips.net/video/sQi4L7uq5GM/видео.html
bien coridalement
Intéressant mais pour être exhaustif il faudrait prévoir un bouton rechercher / modifier…
Bonjour, merci pour cette formation qui comme d'habitude me permet de me perfectionner.🙏 Je travail actuellement sur un projet pour lequel je vais essayer de reproduire ce que je viens d' apprendre. 🤗 Mon soucis et que mon formulaire doit remplir que certaines cellules de mon tableau qui ne sont pas contigues. Comment puis je proceder ? car dans votre exemple c est une ligne entiere qui s' incremente. Merci pour votre retour et votre pedagogie.👍
Vous pouvez demander de vous décaler sur une autre colonne suivant sic certaines ne doivent pas être remplies.
Il suffit de de la mettre dans le code : Fonction Offset()
Très bien expliqué ! Dans ma base de données, j'ai un code postal. Comment faire pour qu'il le reconnaisse comme tel ? CDate pour date mais pour un code postal ? Merci d'avance...
Jean-Marie CARTRO
Formatez le avec l’instruction :
Clong(me.txtcp)
@@Learnaccess Bonjour, j'ai utilisé CLng pour le code postal et les N° de téléphone... Ça marche ! Merci beaucoup.
Bonjour Jean Paul
Merci pour vos tutos qui me sont très utiles.
Je suis en train de créer une base de donnée et dans cette dernière j'ai une feuille accueil qui a 2 boutons un pour un formulaire d'ajout de société et l'autre bouton pour ouvrir un formulaire de recherche mais j'ai le message d'erreur suivant : Nom ambigu détecté : OuvreFormulaireSaisie.
Comment puis-je corriger l'erreur.
Merci d'avance.
Stéphane
Vérfier mais vous devez avoir deux procédures avec le même nom.
IL faut renommer votre seconde procédure
Merci de votre retour, c'était effectivement le cas;
Bonjour
Une question . Comme dans votre exemple j'ai une formule qui se crée a partir de la colonne 2 . Cette formule est en colonne 8 . Lorsque j'utilise le code activecell, mes données à enregistrer se retrouve décallé a partir de la colonne 2 en prenant comme point de référence la colonne formule (8) . Alors que pour vous tous semble OK .... le code est simple pourtant !!!!!
Merci d'avance
Vérifier votre syntaxe mais il ne doit pas y avoir de decalage.
@@Learnaccess
Bonjour, j'ai vérifié ma syntaxe mais toujours le même problème. En activant une cellule plus Loin il entre les données mais décalé . Merci beaucoup pour votre réponse
Bonjour,
Toujours un grand plaisir de retrouver vos vidéos, toujours avec beaucoup de pédagogie pour comprendre les concepts, deux petites questions, je viens de télécharger le fichier formulaire, et pas le code VBA peut être est ce normal.? ensuite je dois faire une application excel (pas forcement l'outil le plus approprié, mais pas logiciel acces , pour faire du 1 à n . je dois faire un fichier (n) agents avec (n) compétences et (N) connaissances. comment faire. merci pour vos précieux conseils. très bonne continuation. Rick
Si vous avez télécharger le fichier
Le code est dans le fichier
Il faut juste ouvrir votre explorateur vbe
(Alt + F11)
Pour faire des relations de table
Il faut utiliser Power pivot
Inclu dans votre Excel
@@Learnaccess Merci beaucoup pour les réponses rapides, suis sur microsoft 365, je ne vois pas les codes sur les formulaires, pourtant cela marche. j'utilise un fichier perso avec du vba et je vois bien le code dans les feuilles.
je vais regarder pivot sur votre chaine. Un petit conseil, que doit on mettre en général dans les modules,? / aux codes dans les feuilles . Un grand merci et bravo
Bonjour,
Merci pour le tuto
Comment faire pour insérer un bouton rechercher et une photo du personnel.
Et un grand merci
J'ai traité les formulaire de recherche et les images.
je vous laisse y jeter un oeil
bonjour, et merci pour vos explications qui sont très claires. je cherche à créer une commande "modifier" mais je ne trouve pas sur le net ou beaucoup moins bien expliqué que vous. pourriez-vous me donner une piste s'il vous plaît. merci par avance pour votre retour
Bonjour Ingrid,
j'ai fait des tutos sur la modification, recherche et suppression d'enregistrement dans une base de données.
Regardez le tuto sur le gestion BD en VBA
Bonjour Merci pour les tutos.
Jai une question, J'essais de faire un formulaire de saisie en me basant sur votre tutoriel, mais j'ai un problème que je n'arrive pas a résoudre.
lorsque ce que j'ajoute une ligne à mon tableau source manuellement tout va bien elle s'ajoute, mais lors ce que j'active le userform dans visual basic pour ajouter une ligne à mon tableau, il m'apparait un message d'erreur qui est le suivant: (Erreur d'exécition '-2147417848(80010108)': La méthode '_defaut' de l'objet 'range a échoué)
ensuite excel se ferme.
et même lors ce que j'active le userform avec visual basic sans essayer d'ajouter une ligne et je reviens sur ma page et j'essais d'ajouter un ligne manuellement, excel se ferme.
la je ne sais plus quoi faire. Pouvez vous m'aider?
Bizarre
Avez vous le test sans la mise sous forme de tableau , uniquement en plage
Si cela fonctionne alors cela vient de votre tableau
j'ai fait le test et oui tout fonctionne. c'est juste lorsque je le met sous forme de tableau que sa crée cette erreur
Bonjour, est -ce que vous pouvez me dire comment ajouter directement un lien hypertexte dans l'une de mes cases de saisie (dans l'interface du formulaire de saisie), pour que derrière, dans le tableau quand on appuie sur la case, mon lien hypertexte s'affiche. J'ai essayé plusieurs codes mais j'ai pas réussi. Si vous pouvez m'aider, merci d'avance
Il faudra formater votre champ en lien hypertexte
Merci pour le module. Par contre comment débuter le report des données du formulaire à partir de la première ligne vide de la colonne "A", quel code faut-il ajouter au dessus de " ActiveCell. Offset (0, 1) = Me.*****" (Je ne souhaite pas utiliser la colonne "Matricule").
Il faut juste lui spécifier la colonne desirez
. @Learnaccess J'ai indiqué :
Feuil1. Activate
Feuil1. Range ("A1048576"). End(xlUp). Offset(1, 0).select
"ActiveCell = Me.NumId"
Afin que le cellule active puisse prendre en compte la zone de texte 'NumId' du formulaire j'ai le message "erreur d'exécution 1004" :
Votre fichier marche très bien, merci pour votre temps. Le problème venait de la feuille qui était protégée. Un simple code "ActiveSheet.Unprotect "***" / ActiveSheet. Protection "****" a résolu le problème. 😁
Bonjour
Merci beaucoup pour ce 3 module
J’ai Excel 2003 / 2007
Impossible de passer la première étape
Quand je crée le code et je valide rien ne fonctionne en plus n’ai pas comme vous l’écriture intuitive pour les fonctions , c’est normal ????
J’ai nommé mes listes tout en majuscules ça peut venir de ça ??
Merci de votre aide.
Gil
Pas de raison que cela ne marche pas
Vérifier votre syntaxe ou nom d’objet
Ça doit marche même en 2007
@@Learnaccess merci de votre réponse rapide
Après plusieurs essais ET UNE CINQUANTAINE DE VISIONNAGE.... LOL je suis enfin parvenu à terminer mes codes et j'arrive presque au bout de mon projet.................!
A VOULOIR SUIVRE LE MAITRE C'EST PAS BON DE COPIE A L'IDENTIQUE CES INTITULES DE TXT ET CBX .......MDR
N'ayant pas le même projet j'ai shunter des codes.
Mon projet est sans matrice automatique de numérotage en colonne A
Pas d'obligation de remplir tout les champs du formulaires lors de la saisie ( 20 cases ;;; )
Pas de message de services dans le bas du formulaires....
Encore du travail pour finaliser la chose, étant nul en code VBA !!!!!. Mais je compte sur vous ..
Merci beaucoup pour toutes ces vidéos.
Cordialement
gilles
@@gillesfaure3760
Pas de pb. je serai là pour vous aidez.
Bonjour Super tutos,bien utiles . une petite question. Comment ouvrir un classeur et arriver toujours sur la même feuille? Merci de votre réponse et encore bravo pour ces tutos, très bien montés
Je l’ai déjà montrer
Le code est à mettre dans le : Thisworkbook
Événement Open
Il faudra juste lui mettre le nom de la feuille
Nomfeuille.activate
@@Learnaccess merci beaucoup
Bonjour, j'ai essayé de créer un autre fichier à partir de vos tutoriels. Tout marche excepté que l'enregistrement ne se fait pas sur la ligne juste en-dessous des en-têtes de colonne soit la ligne 2. Les données s'enregistrent sur la ligne 3. Voilà ce que j'ai écrit comme formule : (je n'y connais pas grand-chose et je ne vois pas où est l'erreur...)
'On cherche la prochaine ligne vide de la source
Feuil2.Activate
Feuil2.Range("A1048576").End(xlUp).Offset(1, 0).Select
'On affecte les données du formulaire dans la source
ActiveCell = ActiveCell.Offset(-1, 0) + 1
Merci d'avance.
Cela arrive systematiquement si vous avez votre source en Outil de tableau.
Saisissez qqc sur votre ligne 2 de votre tableau et relancer l'outil, il ira sur la ligne 3.
L'outil tableau oblige d'avoir une en-tête et au minimum une ligne. Cette première ligne du tableau pose souvent des pbs en VBA car le code n'ira pas la cherchée si on passe par le End(xlup).Offset(1,0)
Mois ce que fait, c'est mettre un espace dans cette ligne deux sur la cellule A2 et puis voilà....
@@Learnaccess Bonjour et merci pour votre réponse. Il suffit de saisir une ligne à la main et de la coller sur la 2e ligne...
Encore merci , je cherche à créer une commande dupliquer , serait-il possible ?
La solution la plus simple :
Faire une recherche sur la commande à dupliquer
L’afficher dans le formulaire
Puis modifier le cas échéant et enregistrer
@@Learnaccess merci pour la célérité de votre réponse mais je n'ai pas trop compris .
Une fois le formulaire rempli et sauvegarder je veux le ré-ouvrir pour le dupliquer
@@edendiana
2 Poissiblités :
- Garder les infos du précédent enregistrement dans le formulaire avant de le fermer puis modifier les infos du formulaire avant de revalider le nouveau enregistrement
- un fois sauvegarder l'enregistrement, réouvrir le formulaire pour récupérer ce dernier afin d'en créer un nouveau.
Excellent travail. Je l'ai exprimé depuis 2 ans déjà.
Seulement :
1) le nouvel ID ne s'affiche qu'à l'ouverture du formulaire, grâce/ â cause de Initialize. Que faire ?
2) comment choisir le format monétaire pour une autre monnaie ?
Merci d'avance.
Bonjour,
1) Vérifiez qu'à l'ouverture du formulaire la macro va bien chercher le dernier numéro + 1 (vérifier la réf de la cellule)
2) Il faut soit utiliser votre format monétaire par défaut que vous avez s&elctionner dans Windows (du coup le VBA récupèrera le format Currency de votre poste)
@@Learnaccess Merci pour les éléments de réponse et la promptitude.
Pour le Fromat monétaire, grâce à votre conseil, c'est réglé avec le paramétrage Windows.
Pour ce qui est de l'affichage du matricule à venir, il ne s'affiche qu'à l'ouverture du formulaire. Mais si on exécute un second enregistrement, il disparaît parce qu'il a été lié à l'Initialize du formulaire.
Bonjour,
Je vous remercie pour la qualité de la vidéo. Cependant, j'ai un petit problème, mon tableau j'ai paramétré l'entête et une ligne car Excel ne me permet pas de créer un tableau qu'avec l'entête seule. Quand j'exécute la procédure pour enregistrer les données dans ma feuille, elle n'écrit pas sur la ligne juste après l'entête mais elle saute une ligne, par contre, les enregistrements suivants sont OK mais ils sont à l'extérieur du tableau.
Mon tableau commence en B:4
Question: Faut-il toujours initialisé son tableau avec au moins une ligne de données avant d'utiliser le formulaire de saisie? ou a-t-on un astuce pour qu'à l'enregistrement, il ne saute pas la première ligne?
Je vous remercie pour votre retour.
Cordialement,
Oui c’est l’outil tableau qui oblige a avoir une ligne par défaut
@@Learnaccess pourquoi les enregistrements suivants ne sont pas dans le tableau. Ils sont à la suite, dans le bon format mais la dimension du tableau reste avant.
Merci
@@lhp242001 Ajoutez des données dans la 1ère ligne du tableau
et normalement les autres devront être prises en compte dans l'outil tableau
@@Learnaccess justement non, j'ai prolongé les plages du tableau jusqu'à la dernière ligne mais rien à faire, le suivant sort de nouveau du tableau
@@lhp242001 ca c'est pas normal
Supprimer le tableau et refaite le
Bonjour, j'ai un petit soucis pour me mettre sur la première cellule active ! Si je pars d'un tableau vide, j'ai l'entête et une ligne surlignée avec rien dedans. Si j'applique votre code VBA, il me met en dessous de la ligne surligné? Comment faire pour qu'il commence sur la ligne surlignée ? Merci
L’outil tableau a besoin d’une données par défaut
Saisir le première ligne manuellement et le vba fera les autres
@@Learnaccess merci bien, super tutoriel, je comprends très vite et merci encore !
Bonjour , s'il vous plait j'ai un souci avec mon code car lorsque je valide les données , elles se décalent d'une ligne et du coup ne rentrent pas dans mon tableau . Comment y remédier svp ?
Si votre source est en ouitl Tableau, il va ajouté une ligne vide entre votre saisie.
Il faut qu'il ai au minimum une valeur votre tableau source.
Ensuite les autres devront se rajouter juste ne dessous.
@@Learnaccess merci beaucoup vous avez raison