Sélection d'une colonne dans requete VBA

Thomasson

XLDnaute Nouveau
Re-bonjour a tous,

Je viens vous revoir car je plante sur une requete.
J'ai un fichier excel exterieur a ma base access, que j'appelle en debut de code, de la maniere suivante :
Code:
    Set rc = Workbooks.Open("mon_chemin_absolu\mon_fichier.xlsm", , True)
    Set wrc = rc.Worksheets("ma_feuille")

Cette feuille est un tableau, composee de differentes colonnes, dont une avec des numeros de pieces (colonne 9), et l'autre avec des numeros d'assemblages (colonne 12).
Ce que je souhaite faire, c'est une requete vba ou access va me chercher le numero d'assemblage correspondant a un numero de piece, enregistré dans une variable.

Sauf que voila, je ne sais pas donner l'instruction lui permettant de comprendre que les infos que je lui demande de piocher sont en colonne 12 et 9
Du genre, en pseudo code : SELECT wrc.colonne12 FROM wrc WHERE wrc.num_de_piece = ma_variable


J'espere avoir été clair pour vous..
Merci d'avance pour vos reponses !
 

Dormeur74

XLDnaute Occasionnel
Re : Sélection d'une colonne dans requete VBA

Voici un petit exemple en VBA sous Access à adapter à ton besoin :

Code:
    Dim xlApp As Object
    Dim NumAssembl As Long
    Dim NumPiece As Long
    Dim NumLigne As Long
    Dim c As Range
     
    Set xlApp = CreateObject("Excel.Application")
    ' J'ai mis un classeur (classeur1.xls) contenant une feuille (Feuil1)
    ' dans un dossier de mon choix (c:\excelpb), à toi d'adapter
    xlApp.Workbooks.Open ("c:\excelpb\classeur1.xls")
    xlApp.Workbooks("classeur1.xls").Sheets("Feuil1").Activate
    
    NumPiece = InputBox("Entrez un n° de pièce", "Entrée")
    'Range("I:I") = colonne 9
    Set c = Sheets("Feuil1").Range("I:I").Find(NumPiece, , xlValues, xlWhole, , , False)
    If Not c Is Nothing Then
        NumLigne = c.Row
        ' On lit ce qui se trouve dans la colonne 12
        NumAssembl = Cells(NumLigne, 12)
        MsgBox "N° d'assemblage :" & NumAssembl, vbOKOnly, "Sortie"
    Else
        MsgBox "N° de pièce non trouvé."
    End If
    Set c = Nothing

Il suffit de mettre au point sous Excel une macro qui fonctionne et de la coller dans un module d'Access.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 644
dernier inscrit
MOLOKO67