Extraire la premiere valeur négative excell
robin
-
robin -
robin -
Bonjour,
je ne maitrise pas du tout le code excel pour creer une macro et j'ai des fichiers a analyser sous excel (2007) , dans chaque fichier il y a une colonne de position en degrés (obtenue par une formule de multiplication de deux cellules il parait que c est important de le dire...) et a coté une colonne de nombres positifs sauf deux séries de valeurs négatives, et je voudrais pouvoir trouver directement la premiere valeur négative de chacune de ces séries et la valeur de position correspondante (et les faire copier coller directement en haut du fichier pour pouvoir en faire un nouveau tableau).
Chaque fichier comporte au moins 1500 valeurs par colonne...
merci d avance
Robin
je ne maitrise pas du tout le code excel pour creer une macro et j'ai des fichiers a analyser sous excel (2007) , dans chaque fichier il y a une colonne de position en degrés (obtenue par une formule de multiplication de deux cellules il parait que c est important de le dire...) et a coté une colonne de nombres positifs sauf deux séries de valeurs négatives, et je voudrais pouvoir trouver directement la premiere valeur négative de chacune de ces séries et la valeur de position correspondante (et les faire copier coller directement en haut du fichier pour pouvoir en faire un nouveau tableau).
Chaque fichier comporte au moins 1500 valeurs par colonne...
merci d avance
Robin
A voir également:
- Extraire la premiere valeur négative excell
- Extraire une video youtube - Guide
- Extraire le son d'une vidéo - Guide
- Extraire image pdf - Guide
- Comment calculer la moyenne sur excel - Guide
- Extraire texte d'une image - Guide
4 réponses
Salut,
Si j'ai bien compris, tu cherche à afficher la première valeur inférieure à 0 parmis des valeurs positives et négatives
formule matricielle à confirmer en appuyant en même temps sur Ctrl, Shift et Entrée
=MAX(SI(A1:A30<0;(A1:A30);""))
si tu le fais correctement, la formule se mettra entre {}
comme ceci
{=MAX(SI(A1:A30<0;(A1:A30);""))}
et si tu souhaites retrouver la première valeur négative 0 compris ajoute = entre < et 0 comme ceci <=0
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Si j'ai bien compris, tu cherche à afficher la première valeur inférieure à 0 parmis des valeurs positives et négatives
formule matricielle à confirmer en appuyant en même temps sur Ctrl, Shift et Entrée
=MAX(SI(A1:A30<0;(A1:A30);""))
si tu le fais correctement, la formule se mettra entre {}
comme ceci
{=MAX(SI(A1:A30<0;(A1:A30);""))}
et si tu souhaites retrouver la première valeur négative 0 compris ajoute = entre < et 0 comme ceci <=0
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Re,
Difficile à cerner, pourrais tu mettre ton fichier sur un lien sans notes confidentielles, avec ce lien
https://www.cjoint.com/
Difficile à cerner, pourrais tu mettre ton fichier sur un lien sans notes confidentielles, avec ce lien
https://www.cjoint.com/
https://www.cjoint.com/c/2kBponWB7in
voila le lien,j ai mis en rouge et en vert les deux valeurs que j aimerais retrouver automatiquement
voila le lien,j ai mis en rouge et en vert les deux valeurs que j aimerais retrouver automatiquement
Re,
pour la première formule, le chiffre en vert n'est pas le premier négatif de la liste, c'est celui qui est sur la ligne inférieure idem pour la deuxième
et la formule est
=RECHERCHEV(MAX(SI(C23:C1722<0;(C23:C1722);""));C37:E1722;3;0)
formule matricielle à confirmer Ctrl+Shift+Entrée)
pour la seconde valeur, soit tu limites chaque zone de recherche
première formule
=RECHERCHEV(MAX(SI(C23:C556<0;(C23:C556);""));C37:E556;3;0)
deuxième formule
=RECHERCHEV(MAX(SI(C556:C1722<0;(C556:C1722);""));C556:E1722;3;0)
ou on recherche une formule plus complexe si les plages sont variables
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
pour la première formule, le chiffre en vert n'est pas le premier négatif de la liste, c'est celui qui est sur la ligne inférieure idem pour la deuxième
et la formule est
=RECHERCHEV(MAX(SI(C23:C1722<0;(C23:C1722);""));C37:E1722;3;0)
formule matricielle à confirmer Ctrl+Shift+Entrée)
pour la seconde valeur, soit tu limites chaque zone de recherche
première formule
=RECHERCHEV(MAX(SI(C23:C556<0;(C23:C556);""));C37:E556;3;0)
deuxième formule
=RECHERCHEV(MAX(SI(C556:C1722<0;(C556:C1722);""));C556:E1722;3;0)
ou on recherche une formule plus complexe si les plages sont variables
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
merci bcp de tn aide (il me semble que le chiffre en vert est le premier negatif de la liste (pas forcément le premier ou les valeurs changent mais bien le premier négatif...) et ensuite oui les plages changent constamment étant donné que les valeurs négatives correspondent à un moment ou les sujets d une etude appuient sur un bouton poussoir(donc jms au mm moment......dsl si je te fais chercher des trucs encore plus complexes!!!)
ta formule est tres interessante...mais elle me donne a chaque fois la premiere valeur minimale je pense(la cellule en dessous de celle que je voudrais avoir a chaque fois...c presque parfait en tt cas...je pourrais me debrouiller avec ca si la cellule donnée correspondait je m arrangerais pour séparer les plages de donnée et balancer les formule dans tous les tableaux que je dois analyser)
Bonjour,
j'ai hésité avec des matricielles sur 1500 lignes
Ci joint macro avec le moyens du bord: fichier illisible pour les gens n'ayant pas les moyens de se payer office 2007
valable quelque soit le nombre de groupes négatifs
piece jointe:
http://www.cijoint.fr/cjlink.php?file=cj201010/cijtbmLP4y.xls
Pour Mike31:
salut,
vaut mieux passer par cijoint.fr que par cjoint; avec cijoint.fr, on peut lire les fichiers 2007 avec la visionneuse microsoft
Michel
j'ai hésité avec des matricielles sur 1500 lignes
Ci joint macro avec le moyens du bord: fichier illisible pour les gens n'ayant pas les moyens de se payer office 2007
valable quelque soit le nombre de groupes négatifs
Const lig As Byte = 2 'ligne de départ
Sub premiers_negatifs()
Dim derlig As Integer
Dim liste, retour
Dim cptr As Integer, cptr_t As Byte
derlig = Range("B3000").End(xlUp).Row
ReDim retour(1, 0)
liste = Application.Transpose(Range("B" & lig & ":B" & derlig).Value)
For cptr = 1 To UBound(liste)
If cptr = UBound(liste) Then Exit For
If liste(cptr) >= 0 And liste(cptr + 1) < 0 Then
ReDim Preserve retour(1, cptr_t)
retour(0, cptr_t) = liste(cptr + 1)
retour(1, cptr_t) = "B" & cptr + lig
cptr_t = cptr_t + 1
End If
Next
Application.ScreenUpdating = False
Range("E" & lig).Resize(cptr_t, 2) = Application.Transpose(retour)
End Sub
piece jointe:
http://www.cijoint.fr/cjlink.php?file=cj201010/cijtbmLP4y.xls
Pour Mike31:
salut,
vaut mieux passer par cijoint.fr que par cjoint; avec cijoint.fr, on peut lire les fichiers 2007 avec la visionneuse microsoft
Michel
j ai essayé sur le mien ca ne marche pas ca me dit erreur 1004 alors que sur le tien ca marche c est la derniere ligne du copier coller qui ne marche pas apparement (celle qui apparait en surligné en jaune sur le debogueur) mais sur ton classeur ca ne pose aucun probleme pour trouver les cellules qu il faut...j abuse encore un peu est ce qu il serait possible avec la meme macro de copier coller les cellules qui correspondent d une autre colonne en plus de celle ci (colonne E en plus de la colonne B dans mon classeur...en plus de la cellule choisie)
http://www.cijoint.fr/cjlink.php?file=cj201010/cijeqk9MR0.xlsx (excel 2007)
http://www.cijoint.fr/cjlink.php?file=cj201010/cijmmDHgOA.xls (excel 97 - 2003)
http://www.cijoint.fr/cjlink.php?file=cj201010/cijeqk9MR0.xlsx (excel 2007)
http://www.cijoint.fr/cjlink.php?file=cj201010/cijmmDHgOA.xls (excel 97 - 2003)
Bonjour,
tu demandes les 1° négatifs.
Dans ta colonne C tu as plusieurs changements (onze) de positif à négatif par ex lignes 534,538,540, 543....
et non 2 comme tu l'indiques (vert et rouge)
alors, comment détermines tu la valeur rouge ?????
ci joint ton classeur avec les lignes en question...
http://www.cijoint.fr/cjlink.php?file=cj201010/cijH43P3zY.xls
tu demandes les 1° négatifs.
Dans ta colonne C tu as plusieurs changements (onze) de positif à négatif par ex lignes 534,538,540, 543....
et non 2 comme tu l'indiques (vert et rouge)
alors, comment détermines tu la valeur rouge ?????
ci joint ton classeur avec les lignes en question...
http://www.cijoint.fr/cjlink.php?file=cj201010/cijH43P3zY.xls
ah mince c'est vrai que le voltage fluctue autour de 0 lorsque le sujet appuie, la valeur rouge est donc le 1er négatif de la deuxieme série (apres que le voltage soit revenu a 1,3.....).je ne sais pas si c'est mieux expliqué. ca devrait etre le premier négatif au dela de la 1000eme cellule normalement dans tous les fichiers.
en fait je cherche la cellule correspondante (de la colonne E) à la premiere cellule negative d une colonne (de la colonne B), le probleme etant qu'il y a deux séries négatives par fichier, et j aimerais avoir la cellule correspondante a la premiere cellule negative de chaque série.