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 :

formule pour créer une matrice


Sujet :

Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 9
    Points : 2
    Points
    2
    Par défaut formule pour créer une matrice
    Bonjour,

    Je cherche à définir une matrice directement dans une formule matricielle pour ne pas avoir à la créer dans le classeur : je dois réaliser un calcul à n instants et seule 1 ligne de la matrice change à chaque instant, l'idée est donc de définir la matrice directement par une formule.

    J'ai bien trouve la syntaxe qui définit une matrice colonne mais je n'arrive pas à trouver l'équivalent pour faire les lignes... Sur Internet j'ai vu la syntaxe pour une vieille version mais sur Excel 2007 ça me jette.

    Pouvoir définir ma matrice de cette façon me permettrai de faire un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =produitmat(inverse({a1\a2\...\am;b1\b2\...\bm;...;n1\n2\...\nm});transpose(A1:An))
    où pour chaque instant correspondant à une ligne différente les valeurs a1, a2, .., am seraient prise égales à des cellules at tous les autres termes de ma matrice resteraient constants.

    Je peux faire ça par macro mais ça m'énerve de pas trouver de solution par formule !

    Quelqu'un sait comment faire ?

    Je vous remercie !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Sélectionne trois cellules contiguës de la même ligne, entre :
    et valide avec Ctrl+Maj+Entrée.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Merci Daniel pour ta réponse, mais Excel me jette toujours en me disant "La formule que vous avez tapé contient une erreur"... (la même erreur qu'il me renvoyait sans les guillemets).

    Je sélectionne bien autant de cellules contigües que d'éléments et valide la formule par ctrl+shift+entrée.

  4. #4
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Si {a;b;c;...;n} définit une matrice unicolonne,
    devrait définir une matrice uniligne.
    Cordialement
    Claude

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    C'est pas con du tout, je n'y avais pas pensé. effectivement ça marche pour faire une matrice ligne.
    Par contre on ne peut pas faire de matrice à plusieurs lignes avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ={TRANSPOSE({0;1;0;1;0});TRANSPOSE({0;1;0;1;0})}
    avec ça Excel me jette... J'arrive pas à comprendre la logique qu'il y a derrière tout ça...

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    salut
    ça peut peut etre t'aider
    Citation Envoyé par aide exel, fonction index
    Si vous spécifiez la valeur 0 (zéro) pour l'argument no_lig ou no_col, la fonction INDEX renvoie respectivement la matrice des valeurs de la colonne ou de la ligne entière. Pour utiliser des valeurs renvoyées sous forme de matrice, tapez la fonction INDEX sous forme d'une formule matricielle (formule matricielle : formule qui effectue plusieurs calculs sur un ou plusieurs ensembles de valeurs et qui renvoie un ou plusieurs résultats. Les formules matricielles sont placées entre accolades { } et sont entrées en appuyant sur Ctrl+Maj+Entrée.) dans une plage horizontale de cellules pour une ligne et dans une plage verticale de cellules pour une colonne. Pour entrer la formule matricielle, appuyez sur CTRL+MAJ+ENTRÉE.

  7. #7
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par valenton Voir le message
    Par contre on ne peut pas faire de matrice à plusieurs lignes avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ={TRANSPOSE({0;1;0;1;0});TRANSPOSE({0;1;0;1;0})}
    La matrice recherchée peut s'obtenir avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {=PRODUITMAT({1;1};TRANSPOSE({0;1;0;1;0}))}
    Mais c'était "faisable" ici car les deux lignes de la matrice cherchée étaient identiques; je ne sais pas si l'on peut aller bien loin et écrire n'importe quelle matrice avec des artifices de ce genre.
    Cordialement
    Claude

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse, effectivement ça marche, je ne connaissais pas cette fonction.
    Mais là encore je n'arrive pas à faire ce que je souhaite faire, il n'est pas possible d'utiliser la syntaxe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ={index(matrice;1;0);index(tableau,i;0)}
    Je sens que je vais devoir me faire ça en macro...

  9. #9
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    En réponse à ton message du 01/09 à 19:29, regarde le classeur joint (entrée d'une matrice de deux lignes et 3 colonnes.
    Fichiers attachés Fichiers attachés
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Super, merci Daniel c'est exactement ce que je cherchais !

    Bon par contre malgré ça je ne peux pas définir une ligne du tableau comme étant égale à des valeurs contenues dans des cellules :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ={1.0.1.0.0;0.1.0.1.0;A1.B1.C1.D1.E1;0.0.-1.0.1;0.0.0.1.0}
    Excel me jette car il faut utiliser du texte pour définir un tableau comme ça. Et on ne peut pas (ou je ne sais pas faire) utiliser de fonctions dans les {} non plus.

    Je crois que je vais arrêter de vous embêter avec mon problème à la con et prendre 10 minutes pour faire une macro, merci à tous vous m'avez bien aidé !

  11. #11
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    A quoi correspondent les "." ? Je ne connais que "\" pour les séparateurs horizontaux et ";" pour les séparateurs verticaux.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Ben à ce que j'ai dans le fichier que tu m'as donné ! Quand je regarde la formule que tu as utilisée j'ai :
    et ça marche, par contre si je mets des \ à la place des points j'ai une erreur !

    Au cas où j'utilise Excel 2007.

  13. #13
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Sinon, pour entrer une matrice correspondant aux cellules A1:C2, sélectionne une plage de 3 colonnes sur deux lignes et entre :
    et valide avec Ctrl+Maj+Entrée
    Par contre, je ne sais pas mixer valeurs et cellules, sinon par maccro.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  14. #14
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Moi, dans le classeur, j'avais mis des "\". Excel a dû faire la transposition suivant les paramètres régionaux.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Oui, c'est bizarre qu'il n'y ait rien dans l'"aide" pour connaître les différences de caractères selon les options régionales...
    Bon j'ai fini par faire ma macro, c'est moins convivial mais ça marche.

    Merci à tous pour votre aide j'aurai appris quelques nouveaux trucs !

Discussions similaires

  1. problème pour créer une formule comportant plusieurs conditions
    Par roufko dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/06/2014, 22h04
  2. Quelques conseils pour créer une application 3D
    Par mister3957 dans le forum Développement 2D, 3D et Jeux
    Réponses: 8
    Dernier message: 13/03/2006, 22h45
  3. [LG] Problème pour afficher une matrice
    Par phoebee dans le forum Langage
    Réponses: 4
    Dernier message: 11/08/2005, 21h41
  4. [FLASH MX2004] Aide pour créer une animation
    Par SnakeTales dans le forum Flash
    Réponses: 5
    Dernier message: 04/08/2005, 10h50
  5. J'ai un pb pour créer une interface [100% HTML]
    Par White_Angel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 15/04/2005, 15h55

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