Remplir les formulaires avec les données du tableau

Formulation du problème

Nous avons une base de données (liste, tableau - appelez ça comme vous voulez) avec des informations sur les paiements sur une feuille Données:

Tâche: imprimez rapidement un ticket de caisse (paiement, facture…) pour toute entrée souhaitée sélectionnée dans cette liste. Aller!

Étape 1. Créer un formulaire

Sur une autre feuille du livre (appelons cette feuille Forme) créer un formulaire vide. Vous pouvez le faire vous-même, vous pouvez utiliser des formulaires prêts à l'emploi, tirés, par exemple, des sites Web du magazine Chief Accountant ou du site Web de Microsoft. J'ai quelque chose comme ça :

Remplir les formulaires avec les données du tableau

Dans les cellules vides (Compte, Montant, Reçu de etc.) obtiendra les données du tableau des paiements d'une autre feuille - un peu plus tard, nous traiterons de cela.

Étape 2 : Préparation du tableau des paiements

Avant de prendre les données de la table pour notre formulaire, la table doit être légèrement modernisée. A savoir, insérez une colonne vide à gauche du tableau. Nous utiliserons pour entrer une étiquette (que ce soit la lettre anglaise "x") en face de la ligne à partir de laquelle nous voulons ajouter des données au formulaire :

Étape 3. Lier le tableau et le formulaire

Pour la communication, nous utilisons la fonction VPR(VLOOKUP) – vous pouvez en savoir plus ici. Dans notre cas, pour insérer le numéro du paiement marqué « x » de la Fiche technique dans la cellule F9 du formulaire, vous devez saisir la formule suivante dans la cellule F9 :

=RECHERCHEV("x",Données!A2:G16)

=RECHERCHEV("x";Données!B2:G16;2;0)

Ceux. traduit en « compréhensible », la fonction devrait trouver dans la plage A2 : G16 sur la Fiche technique une ligne commençant par le caractère « x » et nous donner le contenu de la deuxième colonne de cette ligne, c'est-à-dire le numéro de paiement.

Toutes les autres cellules du formulaire sont remplies de la même manière - seul le numéro de colonne change dans la formule.

Pour afficher le montant en toutes lettres, j'ai utilisé la fonction Propre du module complémentaire PLEX.

Le résultat devrait être le suivant :

Remplir les formulaires avec les données du tableau

Étape 4. Pour qu'il n'y ait pas deux "x"...

Si l'utilisateur entre "x" sur plusieurs lignes, la fonction VLOOKUP ne prendra que la première valeur trouvée. Pour éviter une telle ambiguïté, faites un clic droit sur l'onglet de la feuille Données et alors Texte source (Code source). Dans la fenêtre de l'éditeur Visual Basic qui s'affiche, copiez le code suivant :

Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Long Dim str As String If Target.Count > 1 Then Exit Sub If Target.Column = 1 Then str = Target.Value Application.EnableEvents = False r = Cells(Rows.Count , 2).End(xlUp).Row Range("A2:A" & r).ClearContents Target.Value = str End If Application.EnableEvents = True End Sub  

Cette macro empêche l'utilisateur d'entrer plus d'un « x » dans la première colonne.

Eh bien voilà tout! Prendre plaisir!

  • Utilisation de la fonction VLOOKUP pour substituer des valeurs
  • Une version améliorée de la fonction VLOOKUP
  • Montant en lettres (fonction Propis) de l'add-on PLEX

 

Soyez sympa! Laissez un commentaire