[VBA] Récupérer nom connexions Excel-Access
poulain35
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis bloqué depuis quelques jours sur la modification d'une connexion externe Access vers mon classeur Excel.
Je veux modifier cette connexion en changant juste l'extension .mdb par .accdb, par VBA, j'ai ceci :
Cela fonctionne mais j'aimerai utilisé cette macro pour plusieurs fichiers. Donc il faudrai que je puisse récupérer le nom de la connexion, le nom de la requete, et la source en les stockant dans une variable pour les utiliser ici. J'aimerai savoir si c'est possible, et comment y arriver ?
Merci d'avance !!!
Je suis bloqué depuis quelques jours sur la modification d'une connexion externe Access vers mon classeur Excel.
Je veux modifier cette connexion en changant juste l'extension .mdb par .accdb, par VBA, j'ai ceci :
With ActiveWorkbook.Connections("Suivi_pal_quai").OLEDBConnection .BackgroundQuery = True .CommandText = Array("R2_comptage_palettes") .CommandType = xlCmdTable .Connection = Array( _ "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=\\NASTOU01.lactadom.ad\MESDONNEES_EFLTOU\fr01199\Suivi_pal_quai.accdb;") .SourceDataFile = "\\NASTOU01.lactadom.ad\MESDONNEES_EFLTOU\fr01199\Suivi_pal_quai.accdb" End With With ActiveWorkbook.Connections("Suivi_pal_quai") .Name = "Suivi_pal_quai" End With
Cela fonctionne mais j'aimerai utilisé cette macro pour plusieurs fichiers. Donc il faudrai que je puisse récupérer le nom de la connexion, le nom de la requete, et la source en les stockant dans une variable pour les utiliser ici. J'aimerai savoir si c'est possible, et comment y arriver ?
Merci d'avance !!!
A voir également:
- [VBA] Récupérer nom connexions Excel-Access
- Liste déroulante excel - Guide
- Recuperer message whatsapp supprimé - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
11 réponses
Bonjour,
Mettre des variables String dans un module Public et les initialiser à l'ouverture d'Access
Et remplacer les nom "en dur" dans ta connection par les variables (sans guillement)
A+
Mettre des variables String dans un module Public et les initialiser à l'ouverture d'Access
Et remplacer les nom "en dur" dans ta connection par les variables (sans guillement)
A+
C'est une fonction ou une sub...
Initialiser les variables juste avant d'appeller !
Sinon explique un peu mieux quand tu entre dans cette fonction.
Initialiser les variables juste avant d'appeller !
Sinon explique un peu mieux quand tu entre dans cette fonction.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je souhaite récupérer, toutes les infos de mes connexions entre Excel et Access. Pour pouvoir changer mon fichier Access, car je veux le passer en accdb.
Je souhaite faire ceci automatiquement à tous mes fichiers excel pour modifier leurs connexions Access.
J'ai enregistrer une macro, celle ci-dessus, et j'aimerai y mettre de variable, pour appliquer ce code à tous mes fichiers Excel. J'espere que tu m'a compris et que tu peut m'aider?
Je souhaite faire ceci automatiquement à tous mes fichiers excel pour modifier leurs connexions Access.
J'ai enregistrer une macro, celle ci-dessus, et j'aimerai y mettre de variable, pour appliquer ce code à tous mes fichiers Excel. J'espere que tu m'a compris et que tu peut m'aider?
Je supose que tu à mis un bouton sur un formulaire et désigné la macro...
Une piste,
Une piste,
Sub MyMacro() Dim MyConnect(NombreDeFichier), TB, i As Integer 'Adapter suivant les données à modifier MyConnect(1) = Array("NomConnection", "NomCommentTexte", "NomDatatSource") MyConnect(2) = Array("NomConnection", "NomCommentTexte", "NomDatatSource") 'etc.. For i = 1 To NombreDeFichier TB = Split(MyConnect(i), ",") 'ici tu peu remplacer les adresses dans ta macro par TB(0).. TB(1).. TB(2) ta macro.. End Sub
Oui mais il faut que je récupère le nom du fichier access qui est lié pour pouvoir le stocker dans une variable où la je vai couper le .mdb et le changer par .accdb .