Exportation données

  • Initiateur de la discussion Initiateur de la discussion XkevinX
  • 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 !

X

XkevinX

Guest
Bonjour le Forum,

J'ai une petite question.

Alors voilà, j'essaye d'exporter des données depuis un classeur fermé.
J'ai lu divers posts sur le forum et sur d'autres mais il y a une chose que je ne trouve pas.

J'utilise la méthode ADO.

Comment spécifier une plage de cellules qui va de A3 à dernière cellule non vide colonne A dans la requête SQL ?

J'ai essayé comme ceci:

Code:
 Arret = Range("A3") to Range("A" & .Range("A65356").End(xlUp).Row)
.CommandText = "SELECT * FROM [" & Feuille & Arret & "]"

Il faudrait un For comme je vois pas comment l'insérer.

Mais j'ai une erreur sur Arret. (erreur de syntaxe).

Voilà Merci.
 
Dernière modification par un modérateur:
Re : Exportation données

Re,

Je précise mon post; il est assez imprécis.

Je souhaite récupérer le contenu de certaines colonnes d'un classeur fermé.
Le souci, c'est que suivant la feuille choisie, le nombre de valeurs de ces colonnes varie.

J'ai ce code actuellement :

Code:
Dim Source As ADODB.Connection
    Dim Rst As ADODB.Recordset
    Dim ADOCommand As ADODB.Command
    Dim Fichier As String, Feuille As String
    
    'Adresse de la cellule contenant la donnée à récupérer
    'Arret = Range("A3") to Range("A" & .Range("A65356").End(xlUp).Row)
     Arret = "A3:A19"


      
    Feuille = CbxLigne.Value
    Fichier = "C:\Documents and Settings\stagiaire\Bureau\Distances.xls"
             
    Set Source = New ADODB.Connection
    Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"
                
    Set ADOCommand = New ADODB.Command
    With ADOCommand
        .ActiveConnection = Source
        .CommandText = "SELECT * FROM [" & Feuille & Arret & "]"
    End With
    
                  
    Set Rst = New ADODB.Recordset
    Rst.Open ADOCommand, , adOpenKeyset, adLockOptimistic
                  
    Set Rst = Source.Execute("[" & Feuille & Arret & "]")
     
    Range("A3").CopyFromRecordset Rst
          
            
    Rst.Close
    Source.Close
    Set Source = Nothing
    Set Rst = Nothing
    Set ADOCommand = Nothing

La CbxLigne propose des valeurs qui sont Exactement les mêmes que les noms des feuilles du classeur fermé.

J'ai l'erreur : "Microsoft n'a pas pu trouver l'objet FeuilleArret" (Feuille et Arret pouvant varier suivant la macro).

Déjà, cela ne fonctionne pas pour une plage fixe alors une plage variable .....
Avec le test d'une plage variable avec Range("A" & .Range("A65356").End(xlUp).Row), j'ai l'erreur fichier en mode exclusif ou pas les droits.

J'ai besoin d'aide.

Merci.
 
- 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.

Discussions similaires

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
903
Réponses
5
Affichages
967
Réponses
7
Affichages
987
Réponses
1
Affichages
787
Retour