Rechercher : dans
Par :

EXCEL identifier 1ère valeur négative ds lign

Dernière réponse le 2 fév 2009 à 15:19:54 M'zlle B, le 2 fév 2009 à 09:40:04 
 Signaler ce message aux modérateurs

Bonjour,

sur excel, j'ai une ligne de valeurs numériques :
100 200 300 -60 -1 100

et je voudrais pouvoir, sur chaque ligne trouver la première valeur négative que je trouve (en partant de la gauche).
Sur cet exemple, je voudrais pouvoir trouver et extraire le -60

Merci....

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « EXCEL identifier 1ère valeur négative ds lign » dans :
Utiliser VALEUR CIBLE sous Excel VoirVous avez fait un devis, sous forme d'un tableau EXCEL vous avez additionné chacun des prix, obtenu un Total HT (en E8 par exemple) défini une remise (en E9), appliqué le montant de TVA (en E10), obtenu votre Total TTC (en E11) votre client vous...

1

Mike-31, le 2 fév 2009 à 09:58:16

Salut,

Colles ce code dans un module, associse le à u, bouton et cliques sur la première cellule de la ligne puis sur le bouton.

Avec plus d'explication il sera possible de faire un balayage depuis la première ligne et le code s'arrêtera sur le premier chiffre négatif

A+

Répondre à Mike-31

2

M'zlle B, le 2 fév 2009 à 10:04:31

Où est donc ce fameux code ?

Répondre à M'zlle B

3

Mike-31, le 2 fév 2009 à 10:05:45

Exuse je rsuis sur plusieurs discussion en même temps

Sub test()
'Range("A1").Select
Do While ActiveCell.Value <> ""
ActiveCell.Offset(0, 1).Select
If ActiveCell < 0 Then Exit Sub
Loop
End Sub

A+

Répondre à Mike-31

5

M'zlle B, le 2 fév 2009 à 12:10:42

Bien mais pas suffisant... je voudrais pouvoir l'extraire cette première valeur négative trouvée... en fin de ligne par exemple.

Personne n'a une fonction magique pour ça ? mes utilisateurs vont être réticents à la macro !!!

Répondre à M'zlle B

4

michel_m, le 2 fév 2009 à 10:49:44

Bonjour,

Sans macro

formule matricielle à valider par Ctrl=maj+entree (et non par entrée comme d'hab), le curseur étant dans la barre de cellule
=MIN(SI(A1:M1<0;COLONNE(A1:M1)))

Pour blinder au cas où il n'a pas de valeur négative:
=SI(MIN(A1:M1)>=0;"";MIN(SI(A1:M1<0;COLONNE(A1:M1))))
toujours en matricielle Le forum est basé sur le partage de connaissances:Je ne réponds donc pas à des questions techniques par message privé.
Cordialement, Michel

Répondre à michel_m

7

M'zlle B, le 2 fév 2009 à 13:44:57

MERCI.... je m'en sors avec des SI....

=SI(A5<0;A5;SI(B5<0;B5;SI(C5<0;C5;SI(D5<0;D5;""))))

limite : il ne faut pas avoir plus de 8 "SI" successifs ! oufff c'est le cas. mais merci quand même...

ça m'a permis de découvrir les formules "matricielles" !!!!

Répondre à M'zlle B

8

 Mike-31, le 2 fév 2009 à 15:19:54

Effectivement dans une imbrication mieux vaut ne pas dépasser sept conditionnelle SI, mais dans la même formule il est possible de relancer plusieurs imbrication de sept SI, exemple la formule ci dessous enchaine 14 SI mais on pourrait aller beaucoup plus loin
Pour la tester, la coller dans une cellule et saisir en A1 un chiffre de 1 à 14

=SI(A1=1;"un";SI(A1=2;"deux";SI(A1=3;"trois";SI(A1=4;"quatre";SI(A1=5;"cinq";SI(A1=6;"six";SI(A1=7;"sept";"")))))))&SI(A1=8;"huit";SI(A1=9;"neuf";SI(A1=10;"dix";SI(A1=11;"onze";SI(A1=12;"douze";SI(A1=13;"treize";SI(A1=14;"quatorze";"")))))))

mets un exemple de ton fichier sur le forum avec des anotations que l'on comprenne tes attentes (avec ce lien)

http://www.cjoint.com/

A+

Répondre à Mike-31

6

Mike-31, le 2 fév 2009 à 13:09:30

Re,

Lorsque tu parles d' extraire, que veux tu dire la couper et la mettre en fin de ligne ou simplement un copier et coller de cette valeur en fin de ligne

Si on fait en couper de cette valeur négative, la deuxième valeur négative sur la ligne devient première, que fait on

Et ces valeurs sont des valeurs saisies ou le résultat d'une formule, le code n'est pas le même

A+

Répondre à Mike-31