Lecture dans un classeur fermé excel 2010 .xlsx

Bill607

XLDnaute Nouveau
Bonjour à tous,

Je voudrai récupérer des cellules dans un classeur fermé ( je suis sous Excel 2010 )
mon code est le suivant :

Code:
Function LitUneCellule(repertoire As String, fichier As String, feuille As String, i As Integer)
  'Microsoft ActiveX DataObject 2.8 est coché, ce n'est pas ça le soucis ! 
  Dim cellule As String
  cellule = "A" & i & ":A" & i
  Application.Volatile
  Set cnn = New ADODB.Connection

'--- Connexion ---
 With cnn
        .Provider = "Microsoft.Jet.OLEDB.12.0"
        .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
           & repertoire & "\" & fichier & ";Extended Properties=""Excel 12.0;HDR=NO;"""
       .Open          <---- ICI
    End With
    '-----------------
  
Set rs = cnn.Execute("SELECT * FROM [" & feuille & "$" & cellule & "]")
  LitUneCellule = rs(0)
  rs.Close
  cnn.Close
  Set rs = Nothing
  Set cnn = Nothing
End Function

Ma question est : Comment expliquez-vous que ce code marche nickel pour un fichier excel 2010 avec une extension .xlsm 2010 ( prenant en charge les macros ) et qu'il plante ( au niveau du 'ICI' ) quand je l'utilise sur une extension .xlsx 2010 ?


Tout commentaire sera le bienvenu :)

Merci beaucoup à tous !
 

MJ13

XLDnaute Barbatruc
Re : Lecture dans un classeur fermé excel 2010 .xlsx

Re


Sinon, je travaille sur ce genre de code:

Code:
 With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
        "ODBC;DBQ=" & NomRepFich & ";DefaultDir=" & NomRep & ";Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DriverId=1046;" _
        ), Array( _
        "FIL=excel 12.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=0;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=" _
        ), Array("Yes;")), Destination:=Range("$A$1")).QueryTable
        .CommandText = Array( _
        "SELECT `DirAllImport$`.R, `DirAllImport$`.N, `DirAllImport$`.T, `DirAllImport$`.D, `DirAllImport$`.L" & Chr(13) & "" & Chr(10) & "FROM `DirAllI" _
        , _
        "mport$` `DirAllImport$`" & Chr(13) & "" & Chr(10) & "WHERE (`DirAllImport$`.N Like '%" & NRech & "%')" & Chr(13) & "" & Chr(10) & "ORDER BY `DirAllImport$`.D DESC" _
        )
        .RowNumbers = True
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        '.ListObject.DisplayName = "Tableau_ReqRNTDL2012"
        .Refresh BackgroundQuery:=False
        '.local = True
    End With
 

MJ13

XLDnaute Barbatruc
Re : Lecture dans un classeur fermé excel 2010 .xlsx

Re

Je l'ai eu via l'entrergistreur de macros, en adaptant les variables.

Donc, le reste du code ne sert pas à grand chose. C'est juste pour te montrer le cheminement :).
 

camarchepas

XLDnaute Barbatruc
Re : Lecture dans un classeur fermé excel 2010 .xlsx

Bonjour à tous ,

Bizard , j'ai fais un test et cela fonctionne autant en xlsm avec macro évenementiel à l'onverture du classeur ,qu'en xlsx,
Aprés tout dépent des macros présentent dans le classeur interrogé ?
y-a-t-il des événementiels , si oui lesquelles ?

Cordialement
 

MJ13

XLDnaute Barbatruc
Re : Lecture dans un classeur fermé excel 2010 .xlsx

Re, Bonjour Camarchepas

Bizard , j'ai fais un test et cela fonctionne autant en xlsm avec macro évenementiel à l'onverture du classeur ,qu'en xlsx,
Aprés tout dépent des macros présentent dans le classeur interrogé ?
y-a-t-il des événementiels , si oui lesquelles ?

Mais sur du xlsx, tu ne dois pas avoir de codes :confused:.
 

camarchepas

XLDnaute Barbatruc
Re : Lecture dans un classeur fermé excel 2010 .xlsx

Re à tous

@ Mj : oui pas de code dans xlsx, on est bien d'accord.

Mais bon , je pense que les fichiers interrogés ont quelques chose de spécial : Cellules fusionnées , autre.


@ Bill - Si l'on pouvait avoir un exemple vidé des infos confidentielles pour vérifier ....
 

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 333
Membres
111 103
dernier inscrit
Maxime@mar