Afficher detail calcul dans certaines cellule d'un tableau

Bonjour à tous,

Je souhaiterai afficher dans une cellule "le calcul" et non la somme ( 0.6*2 et non 1.2) et je souhaiterai que cette somme soit prise en compte dans le somme totale de la colonne.

ex:

cellule 1 : 1.2

cellule 2 : 0.6

cellule 3 : 2*0.6

cellule 4 : 1.2+0.6+0.6*2 = 3

Hors soit il me propose d'afficher toute les formules et je n'ai plus la somme en cellule 4, soit il m'affiche en cellule 3, la somme de 0.6*2

Est il possible de sélectionner les cellules ou je veux afficher le calcul et d'autres la somme.

(dans mon fichier, je souhaite que le calcul de Z soit prit en compte dans la somme totale)

Merci d'avance

Bonsoir,

Une fonction personnalisée :

Function ADDIT(Plg As Range)
    Dim vv, i%
    Application.Volatile
    With Plg
        For i = 1 To .Cells.Count
            If IsNumeric(Left(.Cells(i), 1)) Then vv = vv & "+" & .Cells(i)
        Next i
    End With
    vv = Replace(Replace(vv, ",", "."), "+", "=", 1, 1)
    ADDIT = Evaluate(vv)
End Function

1) Tu ne tapes pas de signe = devant une expression telle 0,6*2, qui apparaîtra donc telle que tapée.

2) Tu remplaces ta fonction SOMME par la fonction ADDIT ci-dessus dans la formule :

=ADDIT(C2:C19)

Le code de la fonction est en Module1.

Cordialement.

Bonsoir Bastinc, le forum,

je te retourne ton fichier modifié :

je te laisse l'essayer, et me donner ton avis.

dhany

Bonsoir dhany,

C'est exactement ça que je cherche à faire sur le calcul actuel. par contre quand moi je tape dans une autre cellule il ne me le calcule pas.

Il me soumet "avertissement de sécurtié" macros ont été désactivé. dois faire quelques chose la dessus pour que cela fonctionne partout ?

Bonsoir MFernand,

Je n'ai malheureusement pas les connaissances requises pour réaliser cette opération ...

Merci quand même pour ton aide

oui, bien sûr ! d'abord, tu dois convertir ton fichier de départ .xlsx en fichier .xlsm car les .xlsx ne peuvent pas contenir de macros ; ensuite : Alt F11 pour aller sur la fenêtre "Microsoft Visual Basic" ; dans le module de la feuille, tu dois copier / coller ce code VBA :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  With Target
    If .Count > 1 Then Exit Sub
    If Intersect(Target, [C2:R19]) Is Nothing Then Exit Sub
    Dim chn$, col As Byte, lig As Byte
    col = .Column: If IsEmpty(Cells(1, col)) Then Exit Sub
  End With
  For lig = 2 To 19
    With Cells(lig, col)
      If .Value <> "" Then chn = chn & .Value & "+"
    End With
  Next lig
  Cells(20, col) = Evaluate("=" & Replace$(chn, ",", ".") & "0")
End Sub

tu dois aboutir à ceci :

screen

Alt F11 pour retourner sur Excel

dhany

Ajout : j'ai été long à répondre car la réponse est assez longue ; en plus, j'viens d'me rappeler qu'j'ai oublié une chose :

sur la feuille de calcul, tu dois mettre le format Texte pour la plage C2:R19

si tu arrives à tout faire : parfait ! sinon, envoie ton fichier dans ton prochain poste et j'le ferai pour toi.

dhany

pour activer les macros, la réponse est assez longue aussi, alors laisse-moi le temps de la taper !

J'ai du installer des composants sup a office pour avoir mvb. je vais suivre tes explications.

Par contre je n'ai pas compris cela

Ajout : j'ai été long à répondre car la réponse est assez longue ; en plus, j'viens d'me rappeler qu'j'ai oublié une chose :

sur la feuille de calcul, tu dois mettre le format Texte pour la plage C2:R19.

Je te file quand meme le doc ^^ juste au cas ou j'échoue.

activer les macros pour un dossier précis

je vais supposer que tu mets le fichier dans ce dossier :

C:\Users\Bastinc\Documents\Boulangerie

Users étant le nom réel sur disque du dossier "Utilisateurs", et tu devras bien sûr remplacer Bastinc par ton vrai prénom

bouton Office (= menu Fichier), bouton « Options Excel », choisis à gauche : « Centre de gestion de la confidentialité » ; à droite et en bas, clique sur le bouton large « Paramètres du Centre de gestion de la confidentialité... » ; dans la nouvelle fenêtre, choisis à gauche « Emplacements approuvés » ; à droite, clique en bas sur le bouton « Ajouter un nouvel emplacement » et là, tu dois taper le chemin :

C:\Users\Bastinc\Documents\Boulangerie

attention : avant de valider, si tu veux que les sous-dossiers soient pris en compte, indique-le en cochant la case située dessous

copie d'écran avant coche :

screen

dhany

Alors j'ai fais alt+f11, copier ton code et cela fonctionne

je n'ai pas fais ca ( car je ne sais pas ce qu'il faut faire ^^, je n'ai pas compris)

et en fait cela fait ce que je souhaite

Il s'est aussi convertie auto en xlsm.

Je t'envoi le fichier si tu vois une erreur quelques part.

on se croise ! donc maint'nant je réponds à ton message précédent :

1) pour toutes les cellules de la plage C2:R19, mettre le format Texte :

screen 1 screen 2

dhany

Yep, j'ai réalisé l'histoire "" les cellules de la plage C2:R19, mettre le format Texte : ""

--> juste pour infos, peux tu me dire a quoi cela sert stp, je n'ai pas vu de changer à l'oeil ^^

Dis moi si tu arrives à ouvrir le fichier, a 19ko, je ne trouve pas cela gros.

je te retourne le fichier de ton post de 00:32 modifié :

j'ai fait ce qu'il fallait pour le format Texte de la plage C2:R19 ; le format Texte est car tu saisis des nombres tels que 0,8 ou des opérations telles que 0,6*2 ; et j'ai choisi un alignement gauche pour C2:R19

j'avais oublié de te dire qu'en ligne 20, fallait enlever toutes les formules de somme (ce qui est maint'nant fait) ; j'ai choisi un alignement droit pour C20:R20

en plus : alignement vertical centré pour C2:R20

je vais maintenant télécharger ton 2ème fichier, de ton post de 00:44.

dhany

Re,

Je n'ai malheureusement pas les connaissances requises pour réaliser cette opération ...

Eh bien ! Justement ! S'il faut quelques connaissance pour réaliser la fonction, aucune n'est requise pour s'en servir. Les seules connaissances dont tu as besoin sont celles que tu as déjà : savoir taper une formule, ce que tu as fait en tapant une formule utilisant la fonction SOMME, la fonction personnalisée à utiliser à la place s'utilise exactement de la même façon que les fonction Excel et la syntaxe de la formule est tout à fait semblable à celle construite avec SOMME !

Aucun changement pour le reste : tes cellules demeurent au format Standard, tu tapes tes nombres ou tes expressions en t'abstenant de mettre le signe = puisque tu ne veux pas qu'elles soient calculées mais qu'elles apparaissent telles quelles. Et la formule renverra le résultat.

Que je sache, en utilisant la fonction SOMME tu ne te préoccupes pas du code qui lui permet de renvoyer son résultat ! Tu t'en sers parce que Microsoft te la propose et qu'elle fait le calcul que tu souhaites faire. De même que ne pas savoir démonter le moteur de ta voiture et le remonter ne t'empêche pas de la conduire... Là c'est pareil, la seul chose est que la fonction soit présente dans le classeur où tu l'utilises, donc il faut savoir la copier (11 lignes de texte tout compris) et la coller dans un Module standard. Copier et coller, tout utilisateur d'Excel sait faire ! Et le Module standard, tu le trouves dans l'éditeut VBA, accessible par Alt+F11 dans toutes les versions d'Excel, et pour générer un Module, le menu Insertion > Module le fera rapidement, il s'agit d'une simple feuille destinée à accueillir du texte, constituant un code que l'application exécutera...

Tu as le fichier que j'ai retourné qui te permet de faire le tour de tous ces éléments. Tu peux copier la fonction dans le classeur ou dans le post, la coller ne prendra que quelques secondes et rien d'autre à toucher, je ne vois pas plus simple !

Mais peut-être préfères-tu te livrer à des manipulations complexes, auquel cas libre à toi de t'y adonner !

Cordialement.

@Bastinc

je te retourne le fichier de ton post de 00:44 modifié :

autre précision : pour l'instant, la somme ne se met pas en R20 mais c'est normal : c'est parce que R1 est vide : pas d'entête de colonne, alors pas de total de cette colonne. mais il te suffit de saisir un entête en R1 et le total sera mis automatiquement pour cette colonne de la même façon que pour les autres, car c'est déjà inclus dans mon code VBA. par contre, si tu veux par la suite ajouter d'autres colonnes à droite, faudra adapter le code VBA : j'ai été au plus simple et j'ai supposé que tu as un nombre fixe de colonnes.

pour la ligne de total, si tu ne veux pas voir les 0,00 tu peux créer le format personnalisé 0,00;; pour la plage C20:R20


PS : 19 Ko ce n'est pas gros et ça passe facilement, mais j'pensais qu'tu voulais joindre un autre fichier avec beaucoup plus de données, donc bien plus gros !

dhany

1) Je n'avais pas fais ce qu'il fallait pour le format texte C2.R19 ? je pensais l'avoir fais.

2) Pourquoi faut il enlever toutes les sommes sur la ligne 20 ? de plus, elle les affiche encore ? et j'ai besoin du total en r20 de c20 a c19.

Pour ce qui est des alignements, c’était l'une des seules choses que je savais faire ^^

je viens de prendre ton mail d'1h10, je vais y répondre aussi

pas compris l'histoire de R1 vide, n'ai je pas qu'a utiliser la formule r20 = somme de c20 a q20 ?

je souhaite aussi afficher 2 décimales après 0. mais cela m’intéresse dans les colonne vide de n'afficher qu'un 0.

par contre pas compris comment faire ^^

attends : j'tape pas du tout aussi vite qu'une secrétaire professionnelle, moi !!!

j'veux bien t'répondre, mais laisse moi du temps !!!

dhany

Tu as tout le temps que tu veux

il fallait enlever toutes les formules de somme sur la ligne 20 car maint'nant, c'est fait automatiquement par le code VBA dès qu'tu modifies le contenu d'une cellule de C2:R19 (s'il y a un entête ! car une colonne sans entête n'a pas de sens, vu que c'est pour aucun ingrédient !).

par contre, ta colonne R n'est pas pour un ingrédient et tu veux en R20 le total de C20:Q20 ? si tu confirmes, faut qu'j'modifie le code VBA pour qu'il fasse pas pour la colonne R la même chose que pour les colonnes précédentes, et faudra ajouter cette formule de somme en R20 : =SOMME(C20:Q20)

pour le format variable à 2 décimales ou aucune, c'est à rajouter au code VBA.

dhany

Rechercher des sujets similaires à "afficher detail calcul certaines tableau"