Recopie de lignes suivant critère

  • Initiateur de la discussion Trompette83
  • Date de début
T

Trompette83

Guest
Bonsoir à toutes et à tous

Voici le problème résumé au maximum que je me pose et dont je n'ai pas encore trouvé de solution.
Je precise que je souhaite n'utiliser que des formules (matricielles?) et eviter les macros mais je ne sais pas si c'est possible ceci pour raison de simplicité de maintenance.

J'ai une première table contenant des commandes de produits par des clients. A2:A11 liste des produits. B2:B11 commande client XX, C2:C11 commande client YY... Les clients ne commandent pas de tous les produits.

Je souhaite facturer et ne présenter que les produits commandés par chaque client sans ligne intermédiaire vide.

Voir le fichier joint

Si vous avez des propositions, merci d'avance

A bientot
 
T

Trompette83

Guest
Voici le fichier
[file name=exemple_20050615002053.zip size=2249]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exemple_20050615002053.zip[/file]
 

Pièces jointes

  • exemple_20050615002053.zip
    2.2 KB · Affichages: 19

Monique

Nous a quitté
Repose en paix
Bonjour,

Ta facture est faite, avec une formule matricielle.
Les plages sont nommées par formules, (taille des plages selon le nb de valeurs)
tu peux avoir autant de clients et de produits que tu veux.
Feuille 2 : la formule est nommée, elle n'est plus à valider par ctrl, maj et entrée.
[file name=ReportTrompette.zip size=4567]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ReportTrompette.zip[/file]
 

Pièces jointes

  • ReportTrompette.zip
    4.5 KB · Affichages: 48
T

Trompette83

Guest
Merci beaucoup, Monique pour cette réponse rapide.
A première vue c'est exacement ce que je cherchais et même plus!!

Je vais maintenant étudier et comprendre les formules afin de les adapter exactement à mon besoin.
Je te recontacte si j'ai besoin d'aide.

Encore une fois Chapeau Bas !!

Cordialement :)
 
T

Trompette83

Guest
Merci encore Monique, pour ce travail.
Je me permet de te poser une autre question sur ce même sujet:

Comment modifier la formule FormA de ton fichier afin de permettre une copie de facture quelque soit la position (horizontal ca marche ou vertical ca ne marche pas) dans une feuille. Actuellement cela ne fonctionne que sur la même ligne (client sur ligne 3, 1er produit sur ligne 4).
Je souhaite mettre plusieurs factures l'une en dessous de l'autre et souhaiterais ne pas avoir à changer manuellement les références.
Les problèmes viennent des paramètres des LIGNES et EQUIV.

Cordialement
 

Monique

Nous a quitté
Repose en paix
Bonjour,

Tu peux recopier les formules vers la droite sans problème.
Pour les recopier vers le bas, tu as une contrainte :
il faut qu'il y ait le même nb de lignes entre tous les tableaux.

L'écart actuel entre tous les tableaux est de 16 lignes
Si on diminue ou si on augmente cet écart,
il faut le diminuer ou l'augmenter partout du même nb de lignes

Il y a une formule à base de Mod(Nombre de lignes;16)
=MOD(LIGNE()-LIGNE(Un);Ecart)
donne le n° de lignes interne à chaque facture (le Equiv() de l'autre fichier)

associée à Decaler()
=DECALER(K25;-MOD(LIGNE()-LIGNE(Un);Ecart);)
récupère le nom du client situé entre 1 et 15 lignes plus haut que K25.

Arrivé à 16 lignes, puis 32, etc, la formule redémarre à 0
=MOD(16;16) et MOD(32;16) etc = 0
Si tu insères une ligne, le 16 change tout seul, devient 17 (formule nommée 'Ecart')

J'ai essayé de te détailler les formules dans le fichier, je ne sais pas si c'est une réussite.
[file name=ReportTrompettev1.zip size=7372]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ReportTrompettev1.zip[/file]
 

Pièces jointes

  • ReportTrompettev1.zip
    7.2 KB · Affichages: 27
T

Trompette83

Guest
Hello Monique,

Merci encore pour ta précieuse aide. J'ai repris tes données et les ai adaptées à mon sujet.
Malheureusement, je me trouve bloqué car le calcul des quantités dans mon cas m'oblige a écrire une formule avec plus de 7 imbrications de fonction.
Je ne vois qu'une solution : Ecrire des fonctions en VBA
Mais peut être est-il possible d'écrire un nom de formule paramètré. Si c'est possible, peux tu me donner qq tuyaux pour les créer.

:whistle:

A bientot
 
T

Trompette83

Guest
Bonsoir à tous en particulièrement à Monique

Après pas mal d'heures de recherche j'ai realisé un exemple plus explicite de mon application

Je butte actuellement sur plusieurs points precises dans le fichier

Formule trop longue pour la saisir dand les Noms
Rendre une formule déplacable

Merci Monique si tu pouvais me donner un coup de main.
Je serais d'autant ravis que tes réponses sont vraiment très pédagogiques et me permettent de progresser.

A bientot
 
T

Trompette83

Guest
Ca y va oui... [file name=Trompetteexemple.zip size=28101]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Trompetteexemple.zip[/file]
 

Pièces jointes

  • Trompetteexemple.zip
    27.4 KB · Affichages: 19

Monique

Nous a quitté
Repose en paix
Bonjour,

Je n'ai pas tout regardé, la suite demain (peu, seulement)

Feuille 'Monday Delivery'
Est-ce que la lettre qui précède le nombre est toujours un P ?
Si oui, tu peux mettre en N20 :
=SI(K20='';'';1*SUBSTITUE(RECHERCHEV(K20;TableMon1;EQUIV(CustoQuant;CustoMon1;0);0);'p';''))
en anglais :
=IF(K20='','',1*SUBSTITUTE(VLOOKUP(K20,TableMon1,MATCH(CustoQuant,CustoMon1,0),0),'p',''))
Mais est-ce que cette formule que tu as déjà en N13:N20 fonctionne ?

Si tu as 2 lettres différentes :
=1*SUBSTITUE(SUBSTITUE(formule;'P';'');'Y';'')
=1*SUBSTITUTE(SUBSTITUTE(formule,'P',''),'Y','')

Si 3 lettres : (limite = 7)
=1*SUBSTITUE(SUBSTITUE(SUBSTITUE(formule;'P';'');'Y';'');'Z';'')
=1*SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(formule,'P',''),'Y',''),'Z','')

Le *1 remplace CNUM() et c'est plus court - VALUE() en anglais

Feuille Monday
Pourquoi as-tu 2 tableaux réunis en 1 seul qui, à 1ère vue, donne exactement la même chose ?
Si c'est pour l'impression, tu as une option dans la mise en page, onglet 'Feuille' :
dans 'Colonnes à répéter à gauche'
J'ai l'impression qu'un seul et unique tableau suffit.

Message édité par: monique, à: 24/06/2005 00:40
 
T

Trompette

Guest
A 0h40 encore derrière le PC!!!
Et quand dors tu?

Merci et bien vu cette astuce qui reduit ma formule des quantités des 2/3.
Maintenant les formules des quantités ont l'air au point.
Je me bats avec la formule FProdMon2 qui ne veut pas me donner le bon résultat. FProdMon semble être correcte. Je soupconne un problème d'écart entre les tableaux.

Pour la feuille Monday, les tableaux doivent être imprimés mais sont remplis préalablement avec le PC de plus les 2 premiers tableaux ne possèdent pas les mêmes clients et quantités. Les 2 suivants en sont des condensés.

A bientot donc je continue mes recherches
:)
 

Discussions similaires

Réponses
2
Affichages
990

Statistiques des forums

Discussions
312 276
Messages
2 086 714
Membres
103 378
dernier inscrit
phdrouart