Automatisation facture multi-produits [Résolu/Fermé]

Signaler
-
 Somik -
Bonjour,

je suis revendeur sur internet. Afin de me faciliter dans l'édition des factures, je tiens un journal des ventes listant toutes mes commandes (Feuille 1 : Numéro de facture, Référence commande, type d'article, référence d'article, quantité, prix, nom & adresse client etc...).
Ensuite, en feuille 2 j'ai automatisé les factures qui lorsque je change le numéro de facture remplit automatiquement tout les autres champs en utilisant la fonction =recherchev.

Mais parfois, il m'arrive qu'un client commande 2 produits de références différentes, et dans ce cas là ma facture n'est pas juste, car je n'arrive (ou ne comprend pas) à faire un remplissage en automatique.

La colonne A liste les numéros de factures.
Si un client commande 2 articles différents, j'ai alors 2 fois le même numéro de facture.

Comment faire en sorte que sur un même et unique facture apparaissent les 2 produits que le client a commandé ?

Merci pour votre aide.

5 réponses

Messages postés
25406
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
20 octobre 2020
5 541
Bonjour
si vous avez deux lignes avec le même N° de facture, seule la 1° va ressortir avec recherchev.
*Une petite astuce:
créer dans votre listing (appelons cette feuille LISTING pour l'exemple)une colonne masquée ou non, par exemple Z
si vos N° de facture sont en A à partir de A2 placer en Z2 cette formule:

=A2&"_"&NB.SI($A$2:A2;A2) attention aux signes$

ensuite pour éditer par N°
si le N° de facture est en A1 de la feuille édition et la première ligne à remplir étant ligne 2

=SI(A1="";"";INDEX(LISTING!$A:$X;EQUIV($A$1&"_"&LIGNE()-1;LISTING!($Z:$Z);0);2))
Tirez cette ensemble vers les bas sur la hauteur utile

cette formule (qui se termine par ;2) vous donnera la valeur cherchée de la colonne B de listing. ;3)) pour C ;4)) pour D ect... ,jusqu'à 24 pour X si besoin.

note LIGNE()-1 donne la valeur 1 sur la ligne 2. Si votre édition commence plus bas, ajustez pour que la première ligne de formule fasse référence à 1 soit
LIGNE()-xx xx étant le N° de ligne-1


un petit modèle pour illustrer ça
https://www.cjoint.com/c/DHwoKsaVLuY


crdlmnt
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
25406
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
20 octobre 2020
5 541
Effectivement, c'est une erreur de ma part dont je suis un grand adepte.
Il y a des parenthèses en trop qui encadrent le Z:Z


=SI($A$1="";"";INDEX(LISTING!$A:$X;EQUIV($A$1&"_"&LIGNE()-1;LISTING!$Z:$Z;0);2))

et en plus il faut bloquer le 1° A1 avec les $!!!!

(voyez dans le modèle joint, bien que les adresses soient différentes)

avec mes excuses

cordialement
Errare humanum est, perseverare diabolicum
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Excel m'informe qu'il y a erreur sur la formule, pourtant j'ai essayé de placer les cellules comme indiqué dans votre expliquation.

La formule bloque au niveau du LISTING!($Z:$Z) à la fin.

Voici ce que j'ai crée afin de faire des essais :

Feuille LISTING
................. A .................................... B ..................... C .......... D ............ Z
numéro de facture........ Ref commande...... Produit..... Prix.....
Fact1............................... comm_abc01............. A............ 50........ Fact1_1
Fact2............................... comm_abc02............. B............ 100........ Fact2_1
Fact3............................... comm_abc03............. A............ 50........ Fact3_1
Fact3............................... comm_abc03............. B............ 100........ Fact3_2
Fact4............................... comm_abc04............. C............ 200........ Fact4_1
Fact5............................... comm_abc05............. A ............ 50........ Fact5_1
Fact5............................... comm_abc05............. B............ 100........ Fact5_2
Fact5............................... comm_abc05............. C............ 200........ Fact5_3


En feuille 2, pour éditer la facture, la fonction =SI(A1="";"";INDEX(LISTING!$A:$X;EQUIV($A$1&"_"&LIGNE()-1;LISTING!($Z:$Z);0);2)) comporte des erreurs, excel ne l'accepte pas tel quelle.
La facture 3 devrait comporter 2 lignes et la facture 5 devrait comporter 3 lignes pour ce test.

Merci pour le coup de main
Merci, avec cette formule ca fonctionne ... MAIS ... dans les lignes superflus lorsque j'étire la formule, j'ai en réponse #N/A.

Est-il possible de remédier à ce problème ?

Merci
Messages postés
25406
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
20 octobre 2020
5 541
commencez la formule par:

=SI(OU($A$1="";NB.SI(LISTING!$A:$A;$A$1)<LIGNE()-1);"";INDEX........
en ajoutant (ou apres le =si et en mettant une parenthèse tout à fin pr la fermer excel refuse la formule.

Désolé de demander autant d'aide ... mais cette formule là est bien plus forte que moi =)

Serais-ce donc possible d'avoir la formule complète ? Car dans la formule définitive que j'ai mis qui fonctionne il n'y a pas le NB.SI non plus d'ailleurs que je remarque là.

Merci
C'est bon j'ai compris.

Merci beaucoup pour le coup de main.
Messages postés
25406
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
20 octobre 2020
5 541
=SI(OU($A$1="";NB.SI(LISTING!$A:$A;$A$1)<LIGNE()-1);"";INDEX(LISTING!$A:$X;EQUIV($A$1&"_"&LIGNE()-1;LISTING!$Z:$Z;0);2))
(la parenthèse ne se rajoute pas à la fin, mais derrière le 1° LIGNE()-1)

Attention, réécrivez bien la formule. Si vous la copiez depuis ce message il est possible que des blancs parasite s'intercalent

si problème et si vous le pouvez déposer un modèle sur:
https://www.cjoint.com/
et revenez coller ici le lien donné par le site
En effet,

merci beaucoup pour le coup de main Vaucluse. Cela va grandement m'aider dans le travail en combinant les autres éléments et formules dont j'ai eu la réponse aujourd'hui.

Si j'ai un problème avec la version finale en l'intégrant dans mon vrai tableau de facturation, alors je n'hésiterai pas à venir poster le lien ici.

Merci