Syntaxe formulaire

Bonjour à tous,

Je débute vraiment tout juste dans le VBA. A l'aide d'un tuto : http://www.excel-plus.fr/vba/excodes/creer-formulaire-personnalise/ j'ai réussi à mettre en place un formulaire personnalisé.

Je souhaiterais l'adapter à d'autres application et en bidouillant, plusieurs questions viennent :

Première question, comment attribuer une formuler à une case dépendant d'une autre. Je ne connais pas la syntaxe pour créer des formules pour compléter automatiquement le tableau en fonction des données remplies dans le formulaire.

Dans mon exemple en PJ, j'ai réussi dans le "code" à décaler le remplissage du champs "mail" de la colonne "I" à le colonne "J", mais je ne sais pas comment lui attribuer une formule du genre : =si( 'case de la colonne B' = "M."; "c'est un monsieur","recommencer").

Deuxième question, comment démarrer un nouveau tableau complètement vierge et en cliquant sur le bouton que j'ai créé "Ajouter 1 ligne" les entêtes apparaissent automatiquement avec la première ligne renseignée avec le formulaire ?

Troisième question, comment décaler la position du tableau ?

En vous remerciant grandement pour votre aide !!

Nabuza.

12classeur1.xlsm (29.79 Ko)

Bonsoir,

Un formulaire sert à présenter un tableau sous une forme plus lisible et à sécuriser les saisies que tu y fais.

Cela suppose à tout le moins que tu aies déjà un tableau à remplir...

Un tableau est défini au minimum par ses en-têtes (Nom, Prénom, date de naissance, Adresse...) en général sur la première ligne.

Il est recommandé que la première colonne soit un index (qui numérote les enregistrements successifs)

En principe un formulaire n'utilise pas de formule, c'est même un des principaux avantages des formulaires que de pouvoir se passer de formules...

[Edit] il n'y a aucun intérêt à décaler un tableau qui devrait toujours commencer en A1...

Conseil généraux :

Règle 1 – Utiliser les tableaux d'Excel

Règle 2 – Une feuille = une table de données et surtout rien d’autre

Règle 3 – Dans la première ligne : uniquement et seulement les titres de colonnes

Règle 4 – Pas de cellules vides dans les titres de colonnes

Règle 5 – Pas de doublons dans les titres de colonnes

Règle 6 – Une clef primaire dans la première colonne

Règle 7 – Pas de lignes et colonnes vides

Règle 8 – Ne pas ajouter de totaux, sous-totaux et calculs intermédiaires

Règle 9 – Utiliser les filtres automatiques

Règle 10 – Éviter d’avoir plusieurs colonnes pour une même dimension

Règle 11 – Positionner les données numériques et les calculs dans la partie droite de la table

Règle 12 – N’utiliser qu’une seule formule par colonne

Règle 13 – Utiliser l’outil de validation des données

A+

Bonjour,

Merci pour cette précision. Peut-être pourriez vous m'orienter simplement vers la syntaxe permettant de répondre à mes questions

Bonjour,

Désolé, mais je ne sais pas répondre à ces trois questions :

La première est incompréhensible.

La deuxième : ce n'est pas possible. Le tableau doit au moins comporter des en-têtes.

La troisième est aussi incompréhensible. Si tu veux déplacer le tableau le formulaire ne te sert à rien, tu le fais glisser avec la souris...

Mais je ne suis pas certain d'avoir compris l'intention !

A+

oui moi j'ai la tête dedans mais je comprend que ça soit incompréhensible mdr.

Sur un exemple plus simple.

Je rempli les cases [A1] = "2" et [A2] = 3.

Je ne trouve pas la syntaxe de programmation pour remplir automatiquement [A3] = 6 ([A1] * [A2] = 2 * 3). Cela pour finalement appliquer n'importe quelle formule entre 2 cellules d'une même ligne et afficher le résultat dans une 3ème.

Pourriez-vous également m'expliquer la syntaxe : Range("A" & L).Value dans Range("A" & L).Value = ComboBox1 de mon fichier ?

bonsoir,

L est une variable : C'est la première ligne vide de la colonne A

Range est une plage ou une cellule : ici c'est la cellule colonne A, première ligne vide et sera égale à la valeur cliquée (ou affichée) par le combo...

Pour la première question : je ne vois pas comment expliquer ça. C'est un petit peu comme si tu me demandais d'expliquer comment on met un pied devant l'autre pour marcher sur la Lune !

C'est exactement comme tu l'a écris mais avec des variables...

Si L est la ligne X et Y les colonne à additionner et Z la colonne qui reçoit le total, ça donne :

Cells(L,Z).Value = Cells(L,X).Value+Cells(L,Y).Value

A+

Merci galopin01!

Je vais étudier ça!

Rechercher des sujets similaires à "syntaxe formulaire"