otakurom
Messages postés120Date d'inscriptionjeudi 2 août 2007StatutMembreDernière intervention11 juin 2010
-
23 déc. 2009 à 20:52
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
27 déc. 2009 à 22:54
Bonjour,
Je cherche désespérément la solution mais je ne trouve pas.
J'ai une liste dans excel de composés numérotes 1,2,3... dans la colonne A. Dans access j'ai une table avec un champ "composé" et un champ "composant".
Je souhaiterais que lorsque la valeur du champ "composé" est égale à la valeur dans la cellule(1, 1) par exemple, la valeur du composant s'affiche dans la cellule (1, 2). En fait le but est de faire une nomenclature avec un composé parent ayant plusieurs composants enfants qui eux mêmes ont des composants.
J'espère être clair...
Merci d'avance^^
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 23 déc. 2009 à 22:40
tu peux faire:
Alt+F11 => Editeur VBA
Ctrl+R => Explorateur de projet
Bouton Droit > Insertion > Module
Colles y ça ; code a adapter - base access, table, champs
Public Function Composant(ByVal Compose As Long) As Long
Dim oRS As Object
With CreateObject("ADODB.Connection")
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;"
Set oRS = .Execute("SELECT `Composant` FROM `Table1` WHERE `Composé`=" & Compose)
If Not oRS.EOF Then
Composant = oRS.Fields(0).Value
End If
oRS.Close
.Close
End With
End Function
et dans ta feuille, tu pourras mettre :
=Composant(A1)
pour afficher le composant en fonction d'un composé