Calcul automatique via base de données

Bonjour à tous et toutes !

J'aimerais pouvoir remplir des cellules automatiquement par rapport à un nombre et une durée qui me donneront un prix d'achat et de vente.

Pouvez-vous m'aider s'il vous plait ?

Détails:
Si je mets: "Nombre licence=1" et "Durée=12 MOIS", j'aimerai que C2 et C3 se remplissement en auto. La base de donnée est dans l'onglet 2. Les valeurs à chercher sont C4 et C5.

Merci d'avance pour votre aide si précieuse ! :D

9test-excel.xlsx (32.15 Ko)

Bonjour

Un exemple

11test-excel.xlsx (32.40 Ko)

Si cela te convient tu passes le sujet en résolu

Crdlt

Bonjour

Ma solution (à l'aide d'une macro qui se lance lors de la saisie)

10test-excel.xlsm (39.93 Ko)

A+ François

Merci Joco !

Cependant, on ne peut pas prendre en compte la durée également ?

C'est a dire que si je veux 1 licence 12 mois, le prix est de 129,71 mais en 24 mois le prix est différent ...

Merci d'avance pour ton retour !

Merci François, c'est exactement ce que je voulais !

Cependant, comment est-ce que je peux savoir comment tu as fait ? Je ne vois pas de formules dans les cellules... J'aimerais le reproduire sur un autre fichier avec des données confidentielles... haha .

Merci d'avance !

Comme j'ai dit c'est une macro

clic droit sur l'onglet dela feuille calcul

choisir visualiser le code

Private Sub Worksheet_Change(ByVal Target As Range)
  If Range("A" & Target.Row).Value = "" Then Exit Sub 'si A est vide on quitte
  If Range("B" & Target.Row).Value = "" Then Exit Sub 'si B est vide on quitte
  If Target.Column > 2 Then Exit Sub  'si la colonne de la cellule sélectionnée est plus grande que 2 on quitte
  Dim c As Range, firstAddress As String 'déclaration des variables
   With Worksheets("DONNÉES").Range("A1:A" & Sheets("DONNÉES").Range("A" & Rows.Count).End(xlUp).Row)
        Set c = .Find(Range("A" & Target.Row).Value, LookIn:=xlValues) 'recherche
        If Not c Is Nothing Then 'si trouvé
            firstAddress = c.Address
            Do
                'si Sheets("DONNÉES")cellule B =cellule B on quitte
               If Sheets("DONNÉES").Range("B" & c.Row).Value = Range("B" & Target.Row).Value Then Exit Do
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
    End With
    If c Is Nothing Then 'si non trouvé
      MsgBox ("Je ne trouve pas ces chiffres")
      Exit Sub
    End If
    'affectation des valeurs
    Range("C" & Target.Row).Value = Val(Sheets("DONNÉES").Range("C" & c.Row).Value)
    Range("D" & Target.Row).Value = Val(Sheets("DONNÉES").Range("D" & c.Row).Value)
End Sub

A+ François

Bonsoir à tous !

Une proposition avec un tableau des licences simplifié :

Serait-ce trop te demander si tu pouvais me le faire sur ce fichier là stp ? J'ai enlevé le max de donnée confidentiels... Tu me sauverais car je n'arrive pas à le faire... Heureusement que des gens comme toi maitrisent excel !!

Ci joint Ta solution

A+ François

Bonsoir de nouveau !

Serait-ce trop te demander si tu pouvais me le faire sur ce fichier là stp ? J'ai enlevé le max de donnée confidentiels... Tu me sauverais car je n'arrive pas à le faire... Heureusement que des gens comme toi maitrisent excel !!

A qui vous adressez-vous ?

Vous êtes tous géniaux, merci beaucoup pour votre aide !!!

@JFL, les chiffres qui remontent ne prennent pas en compte les chiffres après la virgule... Comment puis-je faire pour modifier cela ? Je ne suis pas doué concernant les lignes de code...

Merci d'avance !

Bonjour à tous !

@JFL, les chiffres qui remontent ne prennent pas en compte les chiffres après la virgule... Comment puis-je faire pour modifier cela ? Je ne suis pas doué concernant les lignes de code...

Votre interpellation me laisse perplexe.......

J'ai utilisé de simples fonctions Excel qui retournent des valeurs numériques avec ......décimales ! (Voir Prix achat et Prix de vente)

image

Si votre souci réside dans le code VBA, c'est à voir avec Fanfan38, pas avec moi...

Excel nécessite un minimum de rigueur.....

Oups, je n'avais pas vu votre tableau, il est parfait !!!!

Et oups encore je me suis effectivement trompé de personne @. haha.

Merci encore !

Pourtant moi j'ai bien les décimales....

A+ François

@JFL, j'ai essayé dans mon fichier et ça à pas fonctionné....

Je dois vous sembler très très nul désolé....

Bonjour de nouveau !

@AlexisAnselmo : Ne soyez jamais désolé pour une ignorance !D'autant que vous semblez vous donner les moyens....d'apprendre.

En retour votre fichier avec ma proposition.

Remarque : J'ai simplifié votre tableau des licences !

Bonjour,

UN GRAND MERCI !!!!!!!!!!!!!!!!!!

Rechercher des sujets similaires à "calcul automatique via base donnees"