Microsoft 365 Choix calculs excel

  • Initiateur de la discussion Initiateur de la discussion dmgt
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dmgt

XLDnaute Nouveau
Bonjour,
Est il possible et relativement facile de créer une formule permettant de choisir de quelle manière générer un calcul dans un tableau?
Je m'explique, dans un tableau je voudrais pouvoir calculer, au choix, soit le prix d'un appartement en faisant prix/m² X surface ce qui me donnerait le prix total de l'appartement ou pouvoir switcher sur un calcul prix global / m² ce qui me donnerait le prix au m².
En esperant avoir été relativement clair 🙂
Merci
 
Bonjour JHA,
merci pour ton retour.
Le but n'est pas forcement d'avoir le plus bas prix mais plutôt de pouvoir definir un prix soit en choisissant le prix total ce qui me donnerait un prix au m² soit en définissant un prix au m² ce qui me donnerait le prix total.
Par exemple un appartement de 103,32 m² je lui donne une valeur de 3850 €/m² ca me calcule un prix global de 397 782 €uros.
Je souhaite arrondir ce prix à 400 000 € ou 395 000 €, je voudrais pouvoir créer un bouton qui modifie la formule et me permette de rentrer le prix dans ma case prix et que cela me calcul le nouveau prix / m²

1er calcul 103.32 X 3 850 = 397 782 €
2éme calcul 400 000 / 103.32 = 3 871.46 €/m²

Et tout ca, idealement dans la meme ligne du meme tableau
 
En fait je parle de formule mais c'est par méconnaissance d'Excel, je cherche surtout une solution plus qu'une formule.
Je ne maitrise pas du tout la macro et n'arrive a faire que des formules en suivant différents tuto ...
Je ne veux pas que les deux options soient affichées, juste quand je rentre un prix au m² et que ca me donne le resultat final je puisse modifier ce resultat final (principalement pour l'arrondir) et que ca me modifie, cette fois, le prix au m² (que j'avais initialement rentré manuellement
Voici une partie du tableau que j'ai fait
 

Pièces jointes

Le code dans Feuil1 (Vente appart) pourrait ressembler à ça :
VB:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim LOt As ListObject, L&, C%, CSurfac%, CelSurfac As Range, CPrixUn%, CelPrixUn As Range, _
      CPrixAp%, CelPrixAp As Range
   If Target.CountLarge > 1 Then Exit Sub
   Set LOt = Me.ListObjects(1)
   L = Target.Row - LOt.Range.Row: C = Target.Column - LOt.Range.Column + 1
   If L < 1 Or L > LOt.ListRows.Count + 1 Then Exit Sub
   CSurfac = LOt.ListColumns("SHAB").Index
   Set CelSurfac = LOt.DataBodyRange(L, CSurfac)
   CPrixUn = LOt.ListColumns("PRIX m²  T.T.C").Index
   Set CelPrixUn = LOt.DataBodyRange(L, CPrixUn)
   CPrixAp = LOt.ListColumns("PRIX DE VENTE T.T.C " & vbLf & "(hors pkg)").Index
   Set CelPrixAp = LOt.DataBodyRange(L, CPrixAp)
   Application.EnableEvents = False
   If C <> CPrixAp Then
      CelPrixAp.Value = CCur(CelPrixUn.Value * CelSurfac.Value)
   ElseIf CelSurfac.Value <> 0 Then
      CelPrixUn.Value = CCur(CelPrixAp.Value / CelSurfac.Value)
   Else
      If CelPrixUn.Value = 0 Then CelPrixUn.Value = CCur(WorksheetFunction _
         .Average(LOt.ListRows(CPrixUn).DataBodyRange.Value))
      CelSurfac.Value = CDbl(CelPrixAp.Value / CelPrixUn.Value)
      End If
   Application.EnableEvents = True
   End Sub
 
Dernière édition:
Non, c'est une prise en charge d'énènement d'objet Worksheet. Donc clic droit sur l'onglet "Vente appart" et commande "Visualiser le code", ou bien dans l'explorateur de projet VBE cliquez deux fois sur "Feuil (Vente appart)" de la rubrique "Microsoft Excel Objets" et collez le code dans la fenêtre de code.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
2 K
Réponses
16
Affichages
2 K
Retour