Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sélection d'une colonne dans requete VBA

  • Initiateur de la discussion Initiateur de la discussion Thomasson
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

Thomasson

Guest
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 !
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…