Problème de connexion d'excel
Résolu/Fermé
A voir également:
- Segment excel aucune connexion trouvée
- Gmail connexion - Guide
- Liste déroulante excel - Guide
- Hotmail connexion - Guide
- Si et excel - Guide
- Facebook connexion - Guide
2 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
11 févr. 2016 à 15:29
11 févr. 2016 à 15:29
Bonjour,
essayez comme ceci:
'http://silkyroad.developpez.com/VBA/ClasseursFermes/
essayez comme ceci:
'http://silkyroad.developpez.com/VBA/ClasseursFermes/
Sub RequeteClasseurFerme_Excel2007() Dim Cn As ADODB.Connection Dim Fichier As String Dim NomFeuille As String, texte_SQL As String Dim Rst As ADODB.Recordset 'Définit le classeur fermé servant de base de données Fichier = "c:\Users\test1.xlsx" 'Nom de la feuille dans le classeur fermé NomFeuille = "Feuil1" Set Cn = New ADODB.Connection '--- Connexion --- With Cn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _ & Fichier & ";Extended Properties=""Excel 12.0;READONLY=FALSE;""" .Open End With '-----------------' '... la requête ... ' '--- Fermeture connexion --- Cn.Close Set Cn = Nothing End Sub
Merci de ta réponse, j'ai pas essayé car mon code fonctionne. Je l'i lu ton code mais il parait par rapport à ce que j'ai fait.
Je le partage quand mm car ça peut servir.
Ce code fonctionne sur Access 2013, il est composé de deux partie. Un procédure qui appelle une fonction :
Je le partage quand mm car ça peut servir.
Ce code fonctionne sur Access 2013, il est composé de deux partie. Un procédure qui appelle une fonction :
Option Compare Database
Sub Connexion()
Dim cn As New ADODB.Connection
Dim cn2 As New ADODB.Connection
Dim Bool As Boolean
Dim Source As String
Dim Cible As String
Dim Comment As String
Dim Action As String
'MsgBox MaBase ' a supp
Set cn = ConnectionClasseur(ChemFich) ' J'appelle ma fonxrion qui me renvoie l'objet connection PS : En paramettre le chemin de mon fichier
Dim sSQL As String
Dim rst As New ADODB.Recordset
sSQL = "SELECT * FROM [" & "Feuil1" & "$]" ' Nos requetes seront effectué sur la feuille 1 du claeeur en lecture
rst.Open sSQL, cn
While Not rst.EOF
'Affiche le contenu du premier champ
' Ici je pourrais affecté des vairiable par 10
Action = rst.Fields(0) ' Ceci affecte la valeur de la Cellule A1 à Action. On pouvait opter pour un affichagecomme suit : MsgBox rst.Fields(0)
Source = rst.Fields(1) ' Cellule SOurce
' ici je mettrai mes condition de vérif est ce je vais insérer ou pas
' INSTRUCTIONS A ADAPTER
Bool = SelctInTo_Tab.Selection(Source, Cible) ' C'est une fonction se trouvant sur un autre module qui renvoie u boolean
If Bool = True Then
Call Insert_IN_Table1.InserInToTab(Action, Source, Cible, Comment)
Else
'''' On fait rien on passe à la ligne suivante :)
End If
''''''''''''''''''''''''''' Fin insersion '''''''''''''''''''''''''''''''
rst.MoveNext ' en fction de mes varibles je decide du Move de combien
Wend
cn.Close
Set cn = Nothing
End Sub
Function ConnectionClasseur(sFichierExcel As String) As ADODB.Connection
Dim cn As New ADODB.Connection
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sFichierExcel & ";Extended Properties=Excel 12.0 Xml; Persist Security info=False"
cn.Open
Set ConnectionClasseur = cn
'Extended Properties=Excel 12.0 Xml;HDR=YES;
End Function
23 juin 2016 à 11:03