Bonjour le forum,
Voici mon problème, je cherche à adapter un bout de code pour qu'il puisse traiter plusieurs cas simultanément.
Jusqu'ici, voici à quoi le code ressemble:
	
	
	
	
	
		
J'ai une table qui contient des suites de caractères représentant le nom de requêtes à traiter. ( j'ai exporté cette table sous XLD1.xlsx mais ils agit bien d'une table access à la base)
Le but final est que chacune des requêtes inscrites ici soient traitées dans ma fonction ExportXLS_automatique
Il faudrait donc remplacer
	
		
 par 
	
	
	
	
	
		
et que l'on sauvegarde le résultat avec le nom de la variable et non "Export_access" dans
	
		
 comme c'est actuellement.
Voilà, j'espère ne pas être trop brouillon dans mes explications...
Je ne peux à mon avis pas fournir plus de documents, le fichier sur lequel je travaille dépassant le Go.
Merci d'avance de votre aide, si il y a besoin de précisions ou d'autre documents, je ferai tout mon possible pour fournir de quoi vous aider à m'aider.
Un dernier détail, la fonction présentée au début fonctionne parfaitement quand il sagit de "cas par cas", c'est l'adaptation avec variable pour traiter plusieurs requêtes l'une après l'autre qui pose problème.
Bien à vous.
Kraenys
	
		
			
		
		
	
				
			Voici mon problème, je cherche à adapter un bout de code pour qu'il puisse traiter plusieurs cas simultanément.
Jusqu'ici, voici à quoi le code ressemble:
		Code:
	
	
	Function ExportXLS_automatique()
'   Objets Access
Dim dbsBase As DAO.Database
Dim rstRequete As DAO.Recordset
Dim fld As DAO.Field
'   Objets Excel
Dim appexcel As Object
Dim wbkRequete As Object
Dim wksRequete As Object
'   Variables de boucles
Dim intLig As Long
Dim intCol As Long
'   Création du classeur Excel
Set appexcel = CreateObject("Excel.application")
Set wbkRequete = appexcel.Workbooks.Add
Set wksRequete = appexcel.ActiveSheet
appexcel.Visible = True
'   Ouverture de la table
Set dbsBase = DBEngine.OpenDatabase("C:\Users\F54174\Documents\DUMP_EAM.accdb")
Set rstRequete = dbsBase.OpenRecordset("Export_access", dbOpenDynaset)
'   Mise à jour de la feuille active
With wksRequete
'  En-têtes de colonnes renseignées à partir des noms de champs
   intCol = 1
   For Each fld In rstRequete.Fields
      .Cells(1, intCol).Value = fld.Name
      intCol = intCol + 1
   Next fld
   
'   Parcours des enregistrements
'   Ajout d’une ligne par enregistrement
   intLig = 2
   Do While Not rstRequete.EOF
      intCol = 1
      For Each fld In rstRequete.Fields
         .Cells(intLig, intCol).Value = rstRequete(intCol - 1)
         intCol = intCol + 1
      Next fld
      intLig = intLig + 1
      rstRequete.MoveNext
   Loop
'   Affectation d’un nom à la feuille Excel
   .Name = "Export_access"
End With
'   Fermeture des objets Access
rstRequete.Close
dbsBase.Close
'   Activation du classeur dans Excel
appexcel.ActiveWindow.Activate
appexcel.Visible = True
'Call Macro_xlsm
appexcel.Run ("modèle.xlsm!Macro_debut")
wbkRequete.SaveAs FileName:= _
        "C:\Users\F54174\Documents\" & "Export_access", FileFormat _
        :=xlOpenXMLWorkbookMacroEnabled 'Puis on sauvegarde le fichier complet
wbkRequete.Close
appexcel.ActiveWorkbook.Close
appexcel.Application.Quit
Set appexcel = Nothing
End Function
	J'ai une table qui contient des suites de caractères représentant le nom de requêtes à traiter. ( j'ai exporté cette table sous XLD1.xlsx mais ils agit bien d'une table access à la base)
Le but final est que chacune des requêtes inscrites ici soient traitées dans ma fonction ExportXLS_automatique
Il faudrait donc remplacer
		Code:
	
	
	 Set rstRequete = dbsBase.OpenRecordset("Export_access", dbOpenDynaset)
	
		Code:
	
	
	 Set rstRequete = dbsBase.OpenRecordset(Une variable contenant chacune des requetes contenues dans la table access (ici extraite dans XLD1.xlsx),dbOpenDynaset)
	et que l'on sauvegarde le résultat avec le nom de la variable et non "Export_access" dans
		Code:
	
	
	 wbkRequete.SaveAs FileName:= _
        "C:\Users\F54174\Documents\" & "Export_access", FileFormat _
        :=xlOpenXMLWorkbookMacroEnabled 'Puis on sauvegarde le fichier complet
	Voilà, j'espère ne pas être trop brouillon dans mes explications...
Je ne peux à mon avis pas fournir plus de documents, le fichier sur lequel je travaille dépassant le Go.
Merci d'avance de votre aide, si il y a besoin de précisions ou d'autre documents, je ferai tout mon possible pour fournir de quoi vous aider à m'aider.
Un dernier détail, la fonction présentée au début fonctionne parfaitement quand il sagit de "cas par cas", c'est l'adaptation avec variable pour traiter plusieurs requêtes l'une après l'autre qui pose problème.
Bien à vous.
Kraenys
Pièces jointes
			
				Dernière édition: