Lire dans un fichier fermé Excel format xlsm

Bonjour,

Je galère depuis un moment pour appliquer ce que je lis sur le web pour se connecter à un fichier classeur xslm.

Voici le code que j'utilise MAIS POUR UN FICHIER . XLS. Je souhaite lire la cellule B7 de la feuille données et le résultat est nul.

1- Pouvez vous m'aider déjà sur ce programme et me dire ce que je dois faire pour lire la cellule B7 du classeur ci-joint ?

2- m'indiquer ce que je dois faire pour un classeur xlsm

merci beaucoup pour votre aide,

jasserin

Sub connection()

Dim Cn As ADODB.connection ' Définir une variable ADODB Connection
Dim Rst As ADODB.Recordset ' Pour accueillir un RecordSet

Dim chem_fichier As String ' Chemin + nom du fichier

Dim nom As String

chemin = "c:\users\utilisateur\desktop\test1.xls"

' Définir le premier classeur à traiter

chem_fichier = chemin

   Set Cn = New ADODB.connection ' Créer une nouvelle instance

   ' --- Connexion au classeur test1.xls
   With Cn
   .Provider = "Microsoft.Jet.OLEDB.4.0"
   .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
   & chem_fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
   .Open
   End With
   ' --- Fin Connexion

Worksheets("Données").Range("B7").Value = nom

   '--- Fermeture de la connexion ---
   Cn.Close
   Set Cn = Nothing ' Libérer la ressource
MsgBox nom
End Sub
96test1.zip (19.17 Ko)

Bonsoir,

essaie ceci, lit B7 dans feuil1 de ton classeur et met le contenu dans nom

Sub connection()

Dim Cn As ADODB.connection ' Définir une variable ADODB Connection
Dim Rst As ADODB.Recordset ' Pour accueillir un RecordSet

Dim chem_fichier As String ' Chemin + nom du fichier

Dim nom As String

chemin = "c:\users\utilisateur\desktop\test1.xls"

' Définir le premier classeur à traiter

chem_fichier = chemin

   Set Cn = New ADODB.connection ' Créer une nouvelle instance

   ' --- Connexion au classeur test1.xls
  With Cn
   .Provider = "Microsoft.Jet.OLEDB.4.0"
   .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
   & chem_fichier & ";Extended Properties=""Excel 12.0"""
   .Open
   End With
   ' --- Fin Connexion
   Set Rst = New ADODB.Recordset
   querystr = "select * from [Feuil1$B7:B7]"
   Rst.Open querystr, Cn, adOpenUnspecified, adLockUnspecified
   nom = Rst.Fields(0).Name
   MsgBox nom

   '--- Fermeture de la connexion ---
  Cn.Close
   Set Cn = Nothing ' Libérer la ressource

End Sub

merci beaucoup.

ca marche

jasserin

Rechercher des sujets similaires à "lire fichier ferme format xlsm"