Formulaire de renseignements de données pour calcul

Bonjour à tous !

J'ai un fichier Excel o365 (en PJ) avec de nombreuses données sur une seule feuille.

J'aimerais que des utilisateurs puissent effectuer une requête au sein d'une même - ou d'autre document Excel, ou bien d'un Forms - afin qu'ils aient le résultat approprié grâce à un calcul effectué suite à l'entrée de données.

Est-ce possible de leur soumettre une sélection sous liste déroulante ? Et ce afin qu'ils ne puissent pas rentrer de valeur autre que celle proposée par le tableau. A l'exception bien sûr de la Q4. où la valeur vient d'eux et est donc libre.

Type :

Q1 : Combien d'ingrédients allez-vous modifier ?

Q2. Catégorie

Q3: Nom du produit ajouter

Q4. Quantité en mg/KG du produit ajouter

Mes données sont deux tableaux de couleurs distinctes répondant chacune à une formule différente :

Bleu = input user 1 ≥ valeur du produit X dans le tableau

Marron = input user 1 ≥ valeur du produit X dans le tableau

Vert =

- input user 1 ≥ valeur du produit X dans le tableau

- si valeur IS, peu importe l'input user c'est validé dans tout les cas

Gris =

- input user 1 ≥ valeur du produit X dans le tableau

- Il y a une donnée qui n'est pas en KG mais en L, comment la traiter dans la formule ? En la refaisant par exemple ?

Est-ce qu'une fonction INDEX + EQUIV peut convenir ou bien ce n'est pas la bonne méthode ?

Sachant que j'ai aussi la contrainte que les utilisateurs ne peuvent avoir accès aux feuilles de données mais que moi je suis puisse ajouter des colonnes aux différents tableaux de couleurs afin de les garder à jour.

-> pour prendre cela mieux en compte, ne serait-ce pas mieux de faire une feuille par couleur ? (Je ne sais pas trop)

En tout cas merci à ceux qui liront tout cela et merci pour le travail accompli sur la plateforme. 😄

Sacha

18requete.xlsx (9.54 Ko)

Bonjour SachaM,

Je n'ai pas bien saisi ton problème.

Tu souhaites rechercher une cellule en fonction des questions ou bien faire un formulaire pour ajouter un produit ?

Bonjour Boshupp,

Je souhaite faire une recherche de cellule selon mes conditions avec l'apparition du résultat. Et l'autre question est de savoir si quand j'ajoute des colonnes/lignes produits dans mon tableau, ma recherche va t-elle les prendre en compte.

Merci pour ton retour !

Bonjour SachaM,

Ce que je propose c'est l'utilisation d'un Userform pour créer les menus déroulant, ensuite rien de plus simple tu stock les valeurs dans une autres feuille cachée.

Et après tu fais des tests de recherche et en fonction de ces tests tu modifies les coordonnées de la cellule à chercher

Sub formulaire()

With UserForm1.ComboBox1

    .AddItem "produit laitier"
    .AddItem "produit farine"
    .AddItem "produit de blé"

End With

With UserForm1.ComboBox2

    .AddItem "Produit 1"
    .AddItem "Produit 2"
    .AddItem "Produit 3"
    .AddItem "Produit 2A"
    .AddItem "Produit 2B"
    .AddItem "Produit 2C"
    .AddItem "Produit 3A"
    .AddItem "Produit 3B"
    .AddItem "Produit 3C"
    .AddItem "Produit 4A"
    .AddItem "Produit 4B"
    .AddItem "Produit 4C"

    End With

UserForm1.Show

Dim Cel As Range
Dim x As Integer, y As Integer

If Worksheets("Feuil2").Range("A1").Value = 1 Then
    x = 3
    End If

If Worksheets("Feuil2").Range("A1").Value = 2 Then
    x = 4
    End If

If Worksheets("Feuil2").Range("A1").Value = 3 Then
    x = 5
    End If

For Each Cel In Range("B1:M1")
    y = y + 1
    If Cel.Value = Worksheets("Feuil2").Range("A2").Value Then
                 Exit For
    End If
Next Cel

If Cel(x, y).Select = Worksheets("Feuil2").Range("A3") Then

            Cel(x, y).Select

            MsgBox "Cellule trouvée(s) : " & Cel(x, y).Address&

            End If

If Cel(x, y).Select <> Worksheets("Feuil2").Range("A3") Then
            MsgBox "Aucune cellule trouvée"
            End If

End Sub

Cette macro se déclenche lorsqu'on appui sur le bouton recherche.

j'espère que ça répond à ta question, tu trouveras aussi ton fichier modifié en pièce jointe

A+

8requete1.xltm (24.78 Ko)

Bonjour Boshupp!

Merci pour ton retour, ta macro est top !!

Cependant je t'avoue ne pas avoir tout compris..

Comment se fait-il que ma recherche se termine par "Aucune cellule trouvée" en permanence ? J'aimerais bien modifier le tout mais je ne vois pas comment ahah.

Merci beaucoup pour ton aide!

Sacha

Bonjour Sacha,

Excuse moi j'avais fais une erreur dans le code je m'en étais pas rendu compte

If Cel(x, y).Select = Worksheets("Feuil2").Range("A3") Then

            Cel(x, y).Select

            MsgBox "Cellule trouvée(s) : " & Cel(x, y).Address&

            End If

If Cel(x, y).Select <> Worksheets("Feuil2").Range("A3") Then
            MsgBox "Aucune cellule trouvée"
            End If

cette partie ne fonctionne pas parce que j'ai pas demander les valeurs :

If Cel(x, y).Value = Worksheets("Feuil2").Range("A3").Value Then

La je prends bien les valeurs ce qui devrait fonctionner beaucoup mieux :)

A+

6requete1.xltm (23.54 Ko)

Bonjour Boshupp!

Merci de ta disponibilité, j'ai fais le test mais j'ai toujours comme résultat "aucune cellule trouvée".

Sais-tu à quoi cela est dû ?

Bonne journée!

Bonjour Sacha ,

je pense que l'on ne cherche pas les cellules de la même façon, regarde le code pour mieux comprendre :)

Bonjour Boshupp,

Oui tout à fait tu as raison ! Le code permet de me donner comme résultat la cellule correspondante au montant inscrit :

Ici Produit Farine + Produit 1 + valeur d'entrée 3000.

image

Ma demande était différente, je cherche justememt à sélectionner ma catégorie (produit farine) + mon produit (ici produit 1) + entrée la valeur X que j'ajoute (1000 MG/kg)

La limite max est présente dans le tableau (3000 MG/kg) du coup le résultat est approuvé !

Si j'avais entrée 3500MG/kg le résultat aurait dû être négatif.

Est-ce possible que tu m'expliques comment modifier le code ? :)

Merci!!

Bonjour SachaM,

Je pense avoir compris ta demande, juste la valeur que tu rentres doit être stocké quelque part ?

Boshupp,

Non elle n'a pas besoin d'être stockée c'est une forme d'outil tout simplement. :)

Bonjour SachaM,

Le code est très simple à changer :

If Cel(x, y).Value >= Worksheets("Feuil2").Range("A3").Value Then

comme ça ça recherche une valeur inférieur à celle dans la cellule

Je te mets le fichier en PJ

A+

6requete.xltm (26.42 Ko)

Hey Boshupp !

Merci de ta réactivité et de ta patience 😁

Je vais le travailler sur mon fichier originel, je viendrais t'embêter si j'ai des questions !

Bonne journée

Le plaisir est pour moi !

Oublies pas de clôturer le sujets si tu as ta réponse ça pourrait servir à d'autre :)

Bonne journée

Rechercher des sujets similaires à "formulaire renseignements donnees calcul"