Jean Sympa a écrit :
Merci Samuel,


*Formulation du projet*

- Je dispose d'un tableau Source ayant pour colonnes:


Un nom, un prix et un nombre (égal à 8000/prix)


- Seules les lignes comportant un prix m'intéressent. Je veux donc les extraire et les ajouter à un tableau Cible.

STOP on doit pouvoir s'arrêter là ;-)

Je pense qu'il te suffit pour ce dont tu as besoin de faire un filtre avec recopie de tes données sur une autre feuille

Menu Données > Filtre Standard... Tu clique sur le bouton "Options" puis tu coche la case "Copier le résultat vers" tu indique l'emplacement de destination.

Le reste devient si j'ai bien compris inutile (au pire) si c'est juste histoire de compter le nombre de ligne une sélection des données filtrées (extraites) puis un clique droit sur le terme "Somme" sur la barre d'état suffira pour choisir Nombre2 et tu verra apparaître ton nombre de ligne.

A+

Samuel

- Je considère les numéros des lignes LS et LC.


J'envisage de balayer le tableau Source de Haut en Bas, en m'assurant qu'il y a une ligne suivante,


a ) - Quand le champ Nom contient une donnée et quand la ligne du tableau source contient un prix:


je copie ses champs et les colle dans la table cible. Et, j'ajoute 1 à LS et à LC du tableau Source;


b ) -Quand le champ Nom contient une donnée et quand la ligne du tableau source

ne contient pas de prix: j'ajoute 1 à LS et je passe à la ligne suivante du tableau Source


Je vérifie que le champ nom contient une donnée; quand il ne contient pas de donnée le balayage est terminé.


*Problèmes pratiques*


La fonction pourra être placée, entre les deux tables, dans la colonne D par exemple, sur la première ligne du tableau Source. On aura LS=LC.


A la réflexion, chaque fois que l'on passera à la ligne suivante LS sera incrémenté automatiquement

et deviendra inutile. Si bien que dans notre formule LC figurera seul.


Pour coller les champs dans la table Cible, il faudra écrire Champ_C= Champ_S. Il suffira de copier

le champ de la table source trouvé dans la ligne qui contient la formule. La difficulté que je n'arrive pas à traiter est de représenter les champs de la table Cible car, leur numéro de ligne est différent de celui de la formule;


Nom_C(LC)=Nom_S(LS)

Prix_C(LC)=Prix_S(LS)

Nombre_C(LC)= Nombre_S(LS)


Une fois les 3 champs collés on incrémentera la ligne de la table Cible

Ma formule me semblait répondre à la question adaptée



Si le prix de la ligne LS est supérieur à zéro, c'est à dire s'il existe

alors copier les champs d un tableau source et les coller dans le tableau cible


Si Prix_S(LS)>0

*alors* Nom_C(LC)=Nom_S(LS) et Prix_C(LC)=Prix_S(LS) et LC= LC+1


On incrémente LC après avoir collé les champs car au départ, la première ligne du tableau

cible est vierge.


J'espère avoir traité avec pertinence à la question.


Cordialement

Papy



[...]


--
Samuel Mounier
Formateur Centre de Gestion Océan

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à