Déplacer des données à partir de pages dans le même fichier avec ADO

Bonjour Je ne parle pas français, je tape avec le traducteur Google.

J'essaie d'obtenir des données de différentes feuilles du même fichier Excel avec ADO.

Je peux importer des données d'autres fichiers Excel mais pas du même fichier Excel

j'essaye de le faire avec des codes pierrep56

sor
10ado.xlsm (69.26 Ko)
Option Explicit
Public Cnx As Object, Rst As Object
Public Req As String
Sub BILAN_ADO()

End Sub
Sub Recup(Optional x As Byte)

End Sub

Function Select_Db(Req As String, Optional Head As Byte = 1) As Variant
Dim T As Variant, Rcd As Variant
Dim lig As Long, col As Long, i As Long, j As Long, f As Integer
    On Error GoTo errhdlr
    ReDim Rcd(1 To 1, 1 To 1)
    Rst.Open Req, Cnx, 3
    lig = Rst.RecordCount
    If lig > 0 Then
        Rst.MoveFirst
        T = Rst.GetRows
        col = Rst.Fields.Count
        ReDim Rcd(1 To lig + Head, 1 To col)
        For j = 0 To col - 1
            Rcd(1, j + 1) = Rst.Fields(j).Name
            For i = 0 To lig - 1
                Rcd(i + 1 + Head, j + 1) = IIf(IsNull(T(j, i)), Null, T(j, i))
            Next i
        Next j
    End If
    Select_Db = Rcd
    Exit Function
errhdlr:
    Rcd(1, 1) = Req & vbCrLf & "Erreur n°" & Err.Number & vbCrLf & Err.Description
    Select_Db = Rcd
    f = FreeFile()
    Open ThisWorkbook.Path & "\Log.txt" For Append As #f
    Print #f, Now() & " | " & Rcd(1, 1) & vbCrLf
    Close #f
End Function
Sub Connect_xls(Ndf As String)
    Set Cnx = CreateObject("ADODB.Connection")
    Cnx.provider = "MSDASQL"
    #If Win64 Then  ' Version 64bits
        Cnx.Open = "DSN=Excel Files;DBQ=" & Ndf & ";ReadOnly=False;HDR=Yes';"
    #Else           ' Version 32bits
        Cnx.Open "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" & _
                 "DBQ=" & Ndf & "; ReadOnly=False;"
    #End If
    Set Rst = CreateObject("ADODB.Recordset")
End Sub
Sub Close_Cnx(Optional x As Byte)
    On Error Resume Next
    If x > 0 Then Rst.Close
    Cnx.Close
    Set Cnx = Nothing
    Set Rst = Nothing
End Sub

Bonjour,

Pour ce faire, il y a plus simple que l'ADO comme méthode, mais si besoin =>

2copie-de-ado.xlsm (71.70 Ko)

Pierre

pierrep56
Merci pour votre réponse.

Pouvez-vous donner un petit exemple de code de la méthode plus simple qu'ADO ?

Re

Une simple formule à tirer vers le bas

capture d ecran 2021 11 18 180514
1copie-de-ado.xlsx (62.10 Ko)

Pierre

Hmm pierrep56

C'était un exemple simple
J'allais filtrer le premier échantillon et extraire certaines lignes d'une grande liste
Rechercher des sujets similaires à "deplacer donnees partir pages meme fichier ado"