|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : mai 2007 Messages : 36 ![]() |
Bonjour,
Je voudrai créer un formulaire de saisie de facture. J'ai commencer par ce formulaire (voir copie du fichier que j'ai creer) mais je bloque lorsque je veux saisir le détail des charges; En effet mon formulaire de saisie de facture comprend au moins deux lignes. C'est a dire que la première ligne que je dois saisir correspond a l'identification du fournisseur et de l'identification de la facture à savoir la date de la facture le nom du fournisseur le n° de facture, le mode règlement de la facture et le montant TTC de la facture. La deuxième ligne correspond au détail de la facture, au taux de tva, et du montant HT de la facture. Ma question est comment dois je faire pour pour que le code charge et le montant HT soit saisi sur la deuxième ligne après la ligne identification. pour info voici le code que j'utilise pour le formulaire Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : janvier 2007 Messages : 1 300 ![]() |
Tu veux dire que de ton USF tu remplis des "Textbox " qui doivent s'écrire sur deux ligne dans la feuille?
si c'est le cas fait deux petits tableaux en mémoire et tu les remplis avec tes valeurs de textbox et tu les poses chacun sur leur plage Code :
__________________
Cordialement Daranc |
||
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé
![]() Retraité Inscription : avril 2011 Messages : 1 617 ![]() |
Bonjour,
Les TextBox sont repérées avec des tags . Il te suffit donc de sélectionner la ligne suivant ces numéros. Code :
|
||
|
|
10
|
|
|
#4 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 36 ![]() |
@ gFZT82
Merci pout ton aide. Mais cela ne marche pas lorsque je veux saisir plusieur factures a la suite. Les factures précédentes sont effacées par les factures suivantes. de plus les montants Débits et Crédit de la ligne identification restent vident. Aurais tu une solutions. Merci pour ton aide car je suis vraiment débutant en VBA. @ Daranc Comment fait on pour créer deux tableau en mémoire. Je ne saisi pas. Merci |
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé
![]() Retraité Inscription : avril 2011 Messages : 1 617 ![]() |
Citation:
La dernière ligne renseignée est maintenant définie avec la dernière cellule de la plage utilisée, ce qui devrait résoudre le problème. Citation:
Exemples : le tag de la TextBox1 / DATE est maintenant 1-3 (ligne 1 – colonne 3). le tag de la TextBox12/ Code TVA est maintenant 2-11 (ligne 2 – colonne 11). Cordialement. |
||
|
|
10
|
|
|
#6 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 36 ![]() |
Super ça marche parfaitement.
J'ai deux autres question.? Si je veux saisir plus de deux ligne, c'est à dire 3 ligne de charges. est il possible de créer un formulaire qui s'adapte en fonction de cela. En effet j'ai des factures qui peuvent avoir 1 ou plusieurs type de produit. Donc il faudrait que j'adapte mon formulaire en fonction. Autre et dernière question est il possible de copier automatiquement la date, le libellé et les période début et fin sur les ligne suivantes sans que j'ai a les ressaisir. En effet j'ai rajouter des ligne de saisies supplémentaires. mais cela me laisse des lignes vides lorsque je n'utilise pas toutes les ligne comme tu peux le constater sur le fichier ci dessous. en tout cas merci pour ton aide si précieuse. Merci |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Retraité Inscription : avril 2011 Messages : 1 617 ![]() |
Dans la solution jointe, on ne touche pas à ce qui est déjà fait, ce qui permet de conserver la même logique de traitement avec une identification des lignes et colonnes par les tags.
On rajoute un traitement pour supprimer les lignes inutiles. On rajoute un traitement pour copier les dates et libellés. Cordialement. |
|
|
10
|
|
|
#8 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 36 ![]() |
merci beaucoup pour ton aide ça marche impeccable.
Quel code dois je utiliser pour que la textbox1 ne contient que des date sous le format dd/mm/aaaa. C'est a dire si on tape 01/1/12 ou cela me converti en 01/01/2012 Merci |
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé
![]() Retraité Inscription : avril 2011 Messages : 1 617 ![]() |
Code :
|
||
|
|
10
|
|
|
#10 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 36 ![]() |
Je souhaiterai que le n° de piece s'incremente automatiquement.
Comment dois je faire? Merci |
|
|
00
|
|
|
#11 |
|
Expert Confirmé Sénior
![]() ![]() Philippe TulliezFormateur Office et développeur VBA (Excel, Access et Word) Inscription : janvier 2010 Messages : 3 085 ![]() |
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter ![]() Dernier article : Excel – Créer un affichage personnalisé sans VBA Mes contributions : Fonction Incrémentation d'un n° (Compteur) - Procédure de tri pour Excel 2003-2010 |
|
00
|
|
|
#12 |
|
Expert Confirmé
![]() Retraité Inscription : avril 2011 Messages : 1 617 ![]() |
Bonjour,
Plusieurs adaptations sont nécessaires : Dans l’Userform1, ajout de la TextBox27 pour le numéro de pièce. A l’initialisation de l’Userform1, le numéro de pièce est calculé puis affiché dans la TextBox27. A chaque validation de saisie, ce numéro est copié dans la feuille puis recalculé et affiché pour préparer la saisie suivante. Cordialement. |
|
|
10
|
|
|
#13 | |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 36 ![]() |
Citation:
|
|
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 36 ![]() |
bonjour
Je souhaiterai savoir comment faire pour que les textbox : - Nom Fournisseur, Libellé, N° de factures, Période début, Période fin soit en format texte - Date soit en format date - Montant Débit et Montant crédit soit en format nombre. Ceci est important car ensuite ses données sont injectées directement dans le logiciel de compta. Le mauvais format crée une erreur. Merci pour tout |
|
|
00
|
|
|
#15 |
|
Expert Confirmé
![]() Retraité Inscription : avril 2011 Messages : 1 617 ![]() |
Bonjour,
Les valeurs des TextBox sont au format texte. Pour les utiliser sous un type différent, tu dois les convertir : - avec CDate pour la conversion des dates - avec CDbl pour les Débits/Crédits. Cordialement. |
|
|
10
|
|
|
#16 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 36 ![]() |
Bonjour,
Merci a nouveau pour ta réponse. Pourrais tu me dire pour la date si c'est bon à partir de ce que j'ai fais. En fait mon but c'est que lorsque j'ai saisie une facture par le formulaire et que je clique droit sur la cellule libellé (par exemple) le format cellule doit être Texte et non standard car lorsque j'injecte une facture dans le logiciel comptable cela me créer une erreur dû au mauvais format. encore merci |
|
|
00
|
|
|
#17 | |
|
Expert Confirmé
![]() Retraité Inscription : avril 2011 Messages : 1 617 ![]() |
Citation:
Si dans ta feuille initiale les colonnes sont formatées correctement, la copie des données converties au format souhaité ne doit pas poser problème. Inutile donc d'effectuer un traitement complémentaire. Cordialement. |
|
|
|
10
|
|
|
#18 | ||
|
Invité de passage
![]() Inscription : mai 2007 Messages : 36 ![]() |
Ok je vais essayer.
Il ne me reste plus qu'a creer une combox que je souhaiterai te soumettre au niveau du nom fournisseur et du code fournisseur. C'est a dire que si je tape le nom fournisseur le code fournisseur doit apparaitre automatiquement et inversement. Je voudrai savoir aussi est il possible de faire une concatenation dans la textbox libellé à partir du nom fournisseur et de la date de la facture. Dans la feuille 2 j'ai crée une table qui contient la liste des Fournisseurs ainsi que leur codes afin d'aliment la Combox1 "Nom Fournisseur" et la Combox2 "Code Fournisseurs". Colonne A = Code Fournisseur colonne B = Nom Fournisseur. j'ai tapé ce code mais cela ne marche pas . Pouvez vous me dire ce qui cloche ? Cela me marque "Erreur de Compilation : Déclaration existante dans la portée en cours" Code :
|
||
|
|
00
|
|
|
#19 | ||||
|
Expert Confirmé
![]() Retraité Inscription : avril 2011 Messages : 1 617 ![]() |
Pour renseigner la ComboBox1
Code :
Citation:
Si besoin, tu peux effectivement créer 2 ComboBox et lier les deux listes pour permettre de sélectionner indifféremment le nom ou le code fournisseur. Citation:
Ensuite, tu rajoutes la ligne de code Code :
Feuil1.Cells(LigneAjout, 6).Offset(OffsetLigne, 0) = TextBox2.Text & " " & Format(TextBox1.Value, "mm/yyyy") J'oubliais de t'indiquer où se trouvait l'erreur : Ne pas confondre End(xlUp) et End(x1up) Cordialement. |
||||
|
|
10
|
|
|
#20 | ||
|
Invité de passage
![]() Inscription : mai 2007 Messages : 36 ![]() |
J'ai ecris ca comme code mais cela ne marche pas.
Code :
Merci |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com