Insertion Formule dans une base de données

wallyfm02 Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
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,


A voir également:

2 réponses

Bruce Willix Messages postés 11966 Date d'inscription   Statut Contributeur Dernière intervention   2 594
 
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   Statut Membre Dernière intervention   1
 
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   Statut Modérateur Dernière intervention   2 762
 
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