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]