[excel] résultat de A2 dans B2...

Résolu
Lanfeust -  
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Un petit souci avec mon tableau excel.
En fait ma colonne A est intitulé "métré" donc dans les cellules A2 et suivantes, j'ai d'indiqué 3*5 par exemple. je voudrais que dans B2 se mette automatiquement le résultat de l'opératon de A2.

A B
1/ métré surface en m²

2/ 3*5 "formule qui calcul A2"

Par avance merci.
Configuration: Windows XP
Internet Explorer 7.0
Excel 2003

9 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir tout le monde,

    Pour info c'est possible de la faire (presque) directement avec la fonction excel4 evaluer().
    On ne peut l'écrire dans une cellule, mais définie dans un nom elle devient utilisable.
    -se placer en B1
    -Définir un nom 'evaluer': =EVALUER("="&Feuil1!A1)
    -dans une cellule saisir une formule sans le =, par exemple 12*12.
    -à droite de cette cellule saisir =evaluer =>144

    Avantage : c'est valable pour n'importe quelle formule sans avoir besoin de l'analyser en tant que chaine
    exemple : http://www.cijoint.fr/cjlink.php?file=cj200810/cij3Jze1Fm.xls

    eric
    1
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Pas clair du tout tes explication.. si j'en resort ce que je comprend, tu veux une surface ? mais pour cela tu doit avoir 2 données
    Exemple
              A    B    C
    1        3    5    =A1*B1        .. résultat dans C1 =15
    2        8    6    =A2*B2        .. résultat dans C2 = 48  


    A+
    0
  3. Lanfeust
     
    désolé j'ai essayé d'imiter un tableau mais les espaces n'ont pas bien fonctionné.

    En fait justement, non. je souhaite dans A1 voir 3*5 et B1 = resultat de A1 soit 3*5
    Merci pour votre aide.
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonsoir
      Deux solutions, si j'ai bien compris votre question:
      Soit vous n'avez de chaque coté" du signe * qu'un seul chiffre et alors la formule ci dessolus formule fonctionne, pour une écriture en A2: =chiffre 1*chiffre 2
      En B2
      =GAUCHE(A2;1)*DROITE(A2;1)
      Mais si vous avez de chaque coté un nombre à longueur variable, mieux vaut employer celle ci
      =STXT(A2;1;TROUVE("*";A2;1)-1)*STXT(A2;TROUVE("*";A2;1)+1;NBCAR(A2))
      Bien cordialement
      0
      1. lermite222 Messages postés 9042 Statut Contributeur 1 199 > Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Bonjour Vaucluse,
        Désolé mais chez moi ça va pas..
        Ta première formule renvoi 5, ce qui, je pense n'est pas demandé il faudrait avoir 3*5
        et la 2èm me met #Valeur
        Je crois toujour que c'est pas possible par formule.
        NB, ce résultat je l'avais aussi trouver, la seule solution qui aurrait été possible c'est de pouvoir saisir le texte de la formule, comme Formula en VBA et alors de traiter le texte.
        J'ai pas trouver de formule équivalente.
        A+
        0
      2. Lanfeust > lermite222 Messages postés 9042 Statut Contributeur
         
        Lermitte222, chez moi ça passe impeccable, la première comme la deuxième.
        sur la ligne 2 bien sure.
        encore merci.
        0
      3. lermite222 Messages postés 9042 Statut Contributeur 1 199 > Lanfeust
         
        OK, j'avais pas compris que tu mettait 3*5 en texte et non en formule soit =3*5 ce qui donnait 15 bien sûr.
        Mais avec du texte c'est vraiment aucunt problème comme le dit Vaucluse.
        A+
        Vaucluse, désolé pour l'impair.
        0
      4. Lanfeust > Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Bonjour, je reviens vers vous pour encore une p'tite modif'.
        La formule, impeccable, fonctionne à merveillle.
        Par contre vu que je fais la colonne B avec cette forumle, j'aimerais savoir lorsqu'il n'y a rien d'afficher dans A, est ce possible que rien n'apparaisse dans B à la place de #VALEUR!.

        si y'a quelque chose comme ;"" à rajouter à =STXT(A2;1;TROUVE("*";A2;1)-1)*STXT(A2;TROUVE("*";A2;1)+1;NBCAR(A2))


        Merci.
        0
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bien compris, mais par formule je ne pense pas que se soit possible,
    peut-être en VBA
    A+
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Lanfeust
     
    Un grand merci !
    Je viens de gagner un pari en expliquant que c'était possible ! lol mais que je ne savais pas le faire.
    Merci Vaucluse, c'est exactement ce que je cherchais. Merci également lermite222 pour votre aide.
    Bonne soirée et j'éspère que ça pourra être utile à d'autre personne.
    0
  7. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    =SI(A2;STXT(A2;1;TROUVE("*";A2;1)-1)*STXT(A2;TROUVE("*";A2;1)+1;NBCAR(A2));"")
    A+
    0
    1. Lanfeust
       
      Merci lermite222, par contre quand rien n'est renseigné ok, il ya cellule blanche. mais ça a faussé la formule initial : si je mets 2*6 alors #VALEUR!
      0
      1. lermite222 Messages postés 9042 Statut Contributeur 1 199 > Lanfeust
         
        Essaye..
        =SI(A2<>"";STXT(A2;1;TROUVE("*";A2;1)-1)*STXT(A2;TROUVE("*";A2;1)+1;NBCAR(A2));"")
        Mais ça ne devrait pas faire d'erreur
        0
      2. Lanfeust > lermite222 Messages postés 9042 Statut Contributeur
         
        Super, merci.
        Bonne journée et à une prochaine pour mon apprentissage ;-)
        0
      3. Lanfeust > Lanfeust
         
        Bonjour, me revoilà avec mes problèmes.

        Donc pour reprendre, A2 et B2 plus de souci.

        Maintenant j'ai dans C2 une formule =SI(H2=$A$29;$B$29;SI(H2>=1;H2*0,03+$D$29;"")) le"hic" c'est un peu semblable aux pbls d'avant, c'est quand B2 n'est pas rempli, j'ai #VALEUR! d'affiché.
        0
  8. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Re,
    Ta formule est bien libellée et ne fait pas d'erreur.
    Mais quelques fois quand ont fait des tests et que #Valieur (ou autre) est affichée, excel ne veux plus corriger. Sauver Fermer excel et réouvrir, certaine fois il faut même éteindre le PC.
    A+
    0
  9. Lanfeust
     
    J'ai toujours ce message, même après avoir fermé et redémarrer le PC.
    Pour remettre les formules à plat :

    A2 3*5

    B2 =SI(B2<>"";STXT(B2;1;TROUVE("x";B2;1)-1)*STXT(B2;TROUVE("x";B2;1)+1;NBCAR(B2));"")

    C2 =SI(B2=$A$29;$B$29;SI(B2>=1;B2*0,03+$D$29;""))

    voilà la formule de A2 à B2 fonctionne impecc', la formule de C2 aussi mais comme je copies les formules sur plusieurs lignes (environ 100) il y des lignes en B2 non renseigné et cela me met dans C2 #VALEUR! alors que j'aimerais que rien ne s'y affiche, comme dans B2 quand A2 est vide.

    Merci.
    0
  10. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bon soir lanfeust.
    Tout d'abord, je pense que l'écriture dans votre message de votre formule en B2 n'est pas exacte, où alors elle n'est pas en B2.
    Je pense plutot que cette formule fait référence à A2!
    B2==si(A2...etc...)

    Essayez ensuite de revoir votre formule en C2 avec:
    =SI(B2="";"";SI(B2=$A$29;$B$29;SI(B2>=1;B2*0,03+$D$29;"")))
    Elle devrait éliminer le probléme

    Ceci dit, ne sachant pas ce que vous pouvez avoir en A29 il est difficile d'être complet sur le sujet. Sans doute peut on sur l'ensemble simplifier cette dernière formule.

    Mais elle est nécessaire sivous avez des cas de figures où à la fois:
    _B2 est égal à"" de par la formule précédente
    _B2 n'est pas égal à A29

    Car sans le premier SI que je vous propose, ce cas amène excel à multiplier "" par 0,03 et ça, il ne sait pas faire.
    Crdlmnt
    0