Bonjour,

Après moultes tentatives, des recherches qui semblaient prometteuses mais infructueuses (à moins que je me trompe quelquepart) je poste ici ^^

Voila mon problème :

-J'exécute une connexion ADODB, je fais un openrecordset
-Je fais un second openrecordset dans le premier pour avoir une seconde source de données, puis je la ferme et l'initialise
-Je fais ensuite un troisième openrecordset que j'execute et ferme de la même manière
-une fois tout cela fait, je ferme aussi mon recordset et je ferme ma connexion


Tout irait bien si... bah..... l'utilisation mémoire d'Excel ne serait pas énorme :! (350 000 ko...) alors que j'ai fermé Excel, et que les seules actions que j'effectue sont lancer la macro qui exécute le code.

En parlant du code, le voici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
    'Récupération de toutes les informations nécessaire pour l'export des critères
    thisWbName = ThisWorkbook.Path & "\" & ThisWorkbook.name
    Set oCnn = connectToExcel(thisWbName)
    Set oRec = oCnn.OpenRecordSet(requete)

    
    iRec = 0
    If (Not oRec Is Nothing) Then

        Do While Not oRec.EOF
            iRec = iRec + 1

        Set oRecComposante2 = oCnn.OpenRecordSet(requete2)

            Do While Not oRecComposante2.EOF

            oRecComposante2.moveNext
            Loop

        End If
             oRecComposante2.Close
            Set oRecComposante2 = Nothing       
        
        Set oRecComposante3 = oCnn.OpenRecordSet(requete3)

        If (Not oRecComposante3 Is Nothing) Then

            Do While Not oRecComposante3.EOF

            oRecComposante3.moveNext
            Loop
            oRecComposante3.Close
            Set oRecComposante3 = Nothing
            
        End If
        oRec.moveNext
        Loop
        oRec.Close
        Set oRec = Nothing
oCnn.Fermeture
    Set oCnn = Nothing
Si quelqu'un a une idée, je l'en remercie d'avance

Edit : Pour le cas où je vais compléter pour expliquer un peu plus en détail le fonctionnement de la macro :
- La connexion s'effectue sur le fichier déja ouvert (pas de copie du fichier, puis connexion sur ce fichier)


Serait-il donc plus judicieux de créer une copie du fichier, de se connecter sur ce fichier et de mettre à jour la feuille de mon premier fichier via le fichier qui a été copié ?

Mais cela résoudra-t-il mon problème de ressources utilisées par je ne sais quoi :! ?

Merci d'avance