IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

matrice variable au sein d'une formule.


Sujet :

Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3
    Points : 3
    Points
    3
    Par défaut matrice variable au sein d'une formule.
    Bonjour a tous, premier post sur ce forum.

    Grand neophyte d'Excel, je m'y suis mis il y a peu pour le regroupement et l'analyse de données.

    Explications :
    les variables :
    A = angle, qui grimpe à 90° avant de redescendre a -90° puis de revenir a 0°
    B = Tension musculaire, qui grosso modo suit les valeurs d'angle.

    J ai donc 2 questions, qui me debloqueront tout le reste.

    1 => si je n'ai pas eu de mal à récupérer les lignes auxquelles se trouvent les valeurs MAX et MIN des angles (EQUIV(MIN ou MAX)), il n'en ai pas de meme pour récupérer la ligne a laquelle la valeur d'angle passe en dessous de 0° sur sa descente. J'ai essayé avec RECHERCHE, mais ca ne me donne que des erreurs (mes valeurs d'angles sont donc comme vous l'aurez compris non triés, et ne peuvent pas l'être; et sont de plus à 2 décimales, donc recherche exacte impossible). Voila donc la premiere question, comment récupérer cette valeur de ligne correpondant au passage sous zero.

    J'ai pensé passer par une colonne suplémentaire en IF A1xA2<0; VRAI. puis de récupérer la ligne quand VRAI apparait dans cette colonne. Ca marche mais cest un peu fouilli...


    2=> GROSSE QUESTION sur laquelle je cale, mais peut etre n'ai je rien compris...

    Comment intégrer de manière dynamique un numero de ligne dans une formule.

    j ai donc trouvé un numero de ligne avec EQUIV, que j'affiche disons en D1.
    Je veux maintenant calculer l'intégrale mathématique de la premiere ligne jusqu ' a celle trouvée avec equiv.

    Ma formule donne quelque chose comme : =integrale(plage des X; plage des Y)

    j'ai donc entré =integrale(A1:A(D1); B1:B(D1)). Vous devinez que EVIDEMMENT ca ne marche pas. Je ne sais donc pas du tout comment dans cette formule automatique intégrer apres le "A" la valeur trouvée en D1...


    En vous en remerciant par avance, j espere avoir ete assez clair (pas evident...)


    Romain

  2. #2
    Membre averti Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 455
    Points : 323
    Points
    323
    Par défaut
    Bonjour,

    En réponse à la grosse question : je te renvoie à la fonction INDIRECT c'est très utile.

    Par ailleurs, il est préférable de joindre un petit exemple concret plutôt que du bla bla. Il est clair que t'auras une réponse pertinente à ton problème.

  3. #3
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Salut et bienvenue,
    Désolé mais comme tu le supposais, tu n'es pas très clair, mais c'est normal
    Bon pour reprendre tes problèmes:
    Pour la recherche, il y a d'autre fonction proche qui peuvent peut-être t'aider tel que RechercheV (vas voir dans l'aide ou les tutos)
    Pour récupérer la valeur que contient D1 tu peux utiliser la fonction Indirect
    Dans ton cas:
    Mais je pense qu'il y a moyen d'après ce que tu expliques de résoudre ton problème en une seule fonction mais sans visibilité sur ton fichier c'est un peu dur

    Si tu veux mettre ton fichier en pièce jointe et un exemple de résultat obtenu on peut regarder.

    A+

    Edit: Deuxième et pour dire la même chose en plus (Salut casavba)

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    voila le .xls

    Merci pour vos réponses, mais je ne crois pas comprendre que "indirect" puisse me sauver.

    ce que je chercher principalement a faire, cest :

    Dans la définition d'une plage matricielle : rentrer la référence à une ligne de manière dynamique après la lettre de la colonne(qui elle est fixe), en tirant cette valeure de ligne d'une cellule obtenue par EQUIV

    Alalalal, 2 jours que je m'essai a Excel, et ca semble sans fin =)
    Fichiers attachés Fichiers attachés

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    je repose la chose avec des formules (d'ailleurs j ai du telechargé un plug in pour calculer une integrale depuis des elements discrets, je n'ai rien trouvé dans Excel pour ca.... curieux) :

    je veux automatiser ca :

    =integralP(E8:E100;F8:F100)

    j ai enormement de fichiers a analyser de la sorte, et la plage doit pouvoir changer de maniere automatique sans que j ai a changer les bornes a la main.

    dans cette exemple, la ligne 100 est celle ou se trouve la valeure maximale de mes données, a savoir celle ou je dois m'arreter (trouver, donc, par la formule EQUIV(MAX) et posé dans la cellule H18 (voir fichier)

    j'essai donc :
    =integralP(E8:Ex;F8:Fx)
    avec x =
    "H18"ou (H18), marche pas
    &"H18", marche pas
    &"indirect("H18"), marche pas
    "indirect("H18"), marche pas

    Si je ne colle pas directement une valeur numerique à la lettre "E", rien ne va. Pourtant cest bien ce que je cherche a faire =)

    Merci a vous tous !

    Romain

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 128
    Points : 150
    Points
    150
    Par défaut
    Je n'ai pas tout compris dans le problème (même en regardant le fichier) mais je peux vous donner la solution pour l'intégration de la valeur "H18":

    =integralP(DECALER($E$1:$E$439;7;0;$H$18-7;1);DECALER($F$1:$F$439;7;0;$H$18-7;1))

    Le 7 qui apparaît dans la formule correspond à la ligne de début de votre liste de valeurs (8) -1

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 128
    Points : 150
    Points
    150
    Par défaut
    Citation Envoyé par romainnut Voir le message
    ...pour récupérer la ligne a laquelle la valeur d'angle passe en dessous de 0° sur sa descente.
    Tel que je l'ai compris, vous cherchez la première valeur négative sur la descente de l'angle dans la colonne E. Ce que je n'ai pas bien compris c'est qu'il y en a plusieurs dans ce cas, notamment à la ligne 13.

    J'ai donc supposé qu'il fallait la chercher dans la zone comprise entre les lignes 120 et 313 correspondant aux valeurs MIN et MAX que vous avez calculé.

    Pour moi, la première valeur qui correspond à ces critères se trouve à la ligne 206, j'ai donc trouvé la formule suivante qui fournit ce numéro de ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =EQUIV(1;(DECALER(E:E;I18;0;I20-I18;1)<0)*1;0)+I18

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2002] Variable de celulle dans une formule
    Par Pedalator dans le forum Excel
    Réponses: 3
    Dernier message: 10/12/2010, 13h44
  2. Transmission de variables au sein d'une classe
    Par Lcf.vs dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 22/11/2010, 14h35
  3. utiliser comme variable le resultat d'une formule
    Par macduss dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/02/2010, 11h02
  4. Réponses: 9
    Dernier message: 29/09/2008, 16h03
  5. [RegEx] problème variable au sein d'une boucle for
    Par mussara dans le forum Langage
    Réponses: 4
    Dernier message: 22/06/2006, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo