Insertion Formule dans une base de données

Fermé
wallyfm02 Messages postés 55 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 17 septembre 2013 - 16 juil. 2013 à 15:29
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 16 juil. 2013 à 17:03
Bonjour,

Voici mon probleme:

Je souhaite inserer une formule dans une base de données.
J'utilise un Userform pour incrémenter des valeurs dans les cellules de la ligne. Pour certaines cellules de cette ligne je souhaite y insérer des formules (type recherchev) qui iront chercher des infos dans une autre feuille du fichier.
Je cale totalement sur la redaction du code pour inserer les formules.

Merci d'avance pour votre aide,


2 réponses

Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 587
16 juil. 2013 à 15:51
Salut,

Dans une base de données, il n'y a que... des données. Pas de formule, pas de calcul. Et dans une base de données, on n'utilise pas Recherchev et consorts: on fait une requête et un Join.

Donc, avant d'allerplus loin: par "base de données", tu entends "tableau excel" ?
0
wallyfm02 Messages postés 55 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 17 septembre 2013 1
16 juil. 2013 à 16:55
Slt Bruce,

Merci de me répondre rapidement.
Désolé de ne pas être précis dans les termes, je suis encore novice en vba.

Oui C'est bien un tableau EXCEL.

J'incremente les lignes en remplissant le userform (via text box, combobox,...).
Je souhaiterai avoir des infos supplémentaires dans le tableau qui dépendent de ce qu'on a remplit dans le USERFORM.

ex:
avec le userform:

Combobox1= chien pour colonne A
Textbox = Noir pour colonne B

Dans la colonne C, je voudrai avoir une formule qui aille chercher "chien" dans une plage de données se trouvant sur une autre feuille du fichier pour obtenir "Mammifere" (donc recherchev)
Mais je ne veux pas recopier la formule systématiquement donc j'ai pensé à VBA.

Espérant être clair dans les explications.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 745
16 juil. 2013 à 17:03
Bonjour,
Oui, comme le dit Bruce Willix (salut au passage), c'est délicat d'entrer des formules dans une base de données.
Tu peux, par VBA et la méthode find, allez chercher les valeurs qui t'intéresse.
S'il s'agit d'une valeur ou 2, ce code suffira. Si tu en as beaucoup plus à aller chercher, faudra que tu reprécises ta question.
Code :
Dim RngTrouve As Range
With Sheets("Donnees") 'A ADAPTER : nom de la feuille ou tu dois chercher "chien"
    'on va chercher "chien" contenu dans combobox1, dans la colonne E (columns(5))
    Set RngTrouve = .Columns(5).Cells.Find(ComboBox1.Value, Lookat:=xlWhole)
    If RngTrouve Is Nothing Then
    'si pas trouvé
        MsgBox "pas trouvé": Exit Sub
    Else
    'si trouvé, on renvoie dans notre base de données la valeur contenue dans la colonne H
    'de la feuille Données, dans la feuille BaseDeDonnées, colonne C
        Sheets("BaseDeDonnees").Range("C" & i).Value = RngTrouve.Offset(0, 3)
    End If
End With

Tu dis si ça marche pas ou si t'as besoin de compléments d'infos...
0