Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

aide pour une macro

M

mariko

Guest
hello encore

nouveau challenge

afin de simplifier une base de données je voudrais faire la macro suivante:
dans la ligne x
si le résultat de la cellule de la colone D est positif
ou si le résultat de la colone E est > 2
ou si le résultat de la colone F est > 10
alors copie dans une nouvelle feuille toutes les lignes dont la cellule A a la même valeur que la cellule A de la ligne x
puis passe aux lignes suivantes (8643 lignes)

euh avez vous compris mon charabia ?

je serais toute prete à apprendre à créer des macros mais là ça me semble trop complexe pour pouvoir y arriver en quelques jours

merci de votre aide
mari
 
W

wilfried

Guest
Salut mari,

J'avoue que je n'ai pas trés bien compris.

Si je te suis bien tu veu effectuer des copie en fonction de 3 cas de figure?

1) si par exemple la cellule "D200">0 alors tu copie toutes les lignes dont la céllules A**=A200, c'est bien çà

demême si E200>2 ou F200>10....

J'ai bien comprit???

Cela est faisable en macro, si tu veu je regarde pour te faire une exemple d'une dizaine de ligne avec explication....

Je te le transmetterais demain dans la journée (si ça t'interresse).

Wilfried
 
M

mariko

Guest
en fait cette base de données est constituée d'une liste de personnes qui ont eu des tests
finalement je ne veux considérer que 2 tests (colones D, E) qui sont positifs si:
- pour la colone D la valeur "positif"
- pour la colone E la valeur est > 1
dans la colonne A il y le nom de la personne
le nom de la personne apparait dans la base de données autant de fois que cette personne a eu un test (donc il y a plusieurs lignes qui ont la meme valeur A)
je voudrais mettre dans une nouvelle feuille toutes les personnes qui ont eu un test positif au moins une fois mais les tests négatifs que cette personne a eu devront également y figurer
d'où l'idée de sélectionner par les colones D et E les noms de la colone A

dans la colone B il y a le numéro du test
dans la colone F il y a la réponse négative de la colone E (<100) (la colone E est en log)

exemple:
A B D E F
aaaaa 43 négatif
aaaaa 5 4
aaaaa 17 positif
bbbbb 16 positif
cccccc 3 10
ddddd 28 négatif
ddddd 32 <10
eeeee 64 <10
eeeee 23 positif
eeeee 73 négatif
fffffff 34 <10

dans la nouvelle feuille je voudrais donc:
A B D E F
aaaaa 43 négatif
aaaaa 5 4
aaaaa 17 positif
bbbbb 16 positif
eeeee 64 <10
eeeee 23 positif
eeeee 73 négatif

dddd et fffff n'y figurent pas car ils ont eu que des tests négatifs

en espérant avoir été un peu plus claire...

merci mille fois de ton aide !
mari
 
M

mariko

Guest
me suis faite avoir !

ci joint un fichier excel renommé en zip
 

Pièces jointes

  • Classeur1.zip
    9 KB · Affichages: 24
  • Classeur1.zip
    9 KB · Affichages: 18
  • Classeur1.zip
    9 KB · Affichages: 26
W

wilfried

Guest
Salut mari,

Petite demande d'info complèmentaire,
Dans ton cas et avec tes renseignements, je suppose que si une personne à été trouvé dans le cas "- pour la colone D la valeur "positif" " il ne faut pas recommence la copie s'il entre également dans le cas : " - pour la colone E la valeur est > 1 " ??

Si c'est bien ça je te ferai parvenir une petit macro avec explication demain.

Si tu as des précisions à apporter n'hésite pas

A+ et bonne journée

Wilfried
 
W

wilfried

Guest
Apparament ma reponse de tout à l'heure n'est pas passé...

Donc re salut,

Pour ton PB:

Si un nom à été recopier dans le cas : - pour la colone D la valeur "positif"
veu tu que si il entre aussi dans le cas - pour la colone E la valeur est > 1 il soit de nouveau copier?

Au vu de tes renseignement, je ne pense pas que ce soit le cas.
Je fais quellque essais ce soir et te revoie le tous avec les explications demains.

A+ wilfried.
 
M

mariko

Guest
oui il doit y entrer

je veux enlever les personnes "négatifs" à tous les tests qu'ils ont eu

dès qu'une personne a un test positif (et meme si tous les autres sont négatifs) je veux la garder

et encore plus si elle a tous les tests positifs

et pour une personne gardée tous les tests qu'elle a eu doivent figurer (les négatifs et les positifs) dans la nouvelle feuille

encore merci !
 
W

wilfried

Guest
Bonjour mari,

Voici un fichier comprenant une macro qui j'espère répondra à ton attente.
J'ai dû improvisé les valeur car je n'est pas réussit à ouvrir ton fichier (PB DISKETTE je pense!!).

Si tu as des questions, n'hésite pas.

Wilfried ;-)
 

Pièces jointes

  • Rep_Mari.zip
    22.9 KB · Affichages: 15
W

wilfried

Guest
Salut mari,

Si j'ai bien compris ta réponse du 08/12/2004 15:33,

Si une personne qui n'est pas entrés dans le cas au Dx=positif mais qui à Ex >1, alors il faut copier tous les occurences de ce même nom?

Je vais essayer de faire en sorte que cela fonctionne.

Pour ta question :

La ligne if Range("A1").Offset(m_lgn, 3) = "positif" then,

Permet de faire un test en relatif, cad : que quelque soit le nb de ligne de ton tableau cela doit fonctionner, d'ou l'utilisation de Range("A1").Offset(m_lgn, 3) : en traduction française :

Place toi dans la cellule dont l'adresse est "A3" (range("A3")) puis décale toi de m_ligne ligne! et de 3 colonne (offset(m_ligne,3))

et si cette cellule est égal à positif alors accomplit toutes les actions suivante.

Voila

Wilfried
 
W

wilfried

Guest
Bonjour, mari,


Voici le fichier avec les modif que tu souhaitait (ci j'est bien compris...).

Si tu à des questions n'hesite pas.

A+ et bon week-end à tous et toutes du forum.

PS: A tous les participants de ce forum :

MERCI POUR TOUTES LES INFOS QUE VOUS TRANSMETTER ELLE APPORTE DES GROS PLUS A TOUTES LES PERSONNES QUI COMME MOI APPRENNE EN AUTODIDACTE......

ENCORE UN GROS MERCI......


Wilfried ;-)
 

Pièces jointes

  • Rep_mari2.zip
    23.9 KB · Affichages: 17

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…