Erreur de compilation vba sur excel 2016
poparnassus
Messages postés
426
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai aucune connaissance en vba, mais j'ai besoin d'aide pour pouvoir exploiter cette fonction, cependant j'ai des erreur de compilation
Ce que je veux, c'est pouvoir lire les valeurs d'une matrice sur un autre fichier excel '~150 000, ma fonction doit lire la valeur de la cellule A3 du fichier cible. Dans mon fichier source (la ou est la macro, j'ai une feuille excel qui recupere les données des cellule cible, le probleme que j'ai eu est que j'utilisai des SI donc 150 000 x 56 colonne de SI, et bien excel n'a pas trop apprécié ^^. J'en ai marre de refaire les liens, j'ai besoin d"une methode pertinente. Merci
La formule que j'utilise dans excel [=LectureFichier(B1;B2;B3;B4)]
Avec B1=\\192.168.2.1\t-informatique\0-Travail_du_vendredi_soir\Archive
B2=testFonction.xlsx Note: C'est le nom exacte de mon fichier
B3=FeuilTest1 Note: C'est le nom exacte de ma feuille
B3=A3 Note: A3 c'est le n° de cellule du document cible
:::source
Code:
J'obtiens l'erreur suivante dans Visual basic:
Erreur de compilation:
Seuls des commentaires peuvent apparaître après end sub
Et sur excel, on me demande de verifier les valeurs, que les noms commence par "_" , qu'il n'y est pas d'espace, que les noms ne soit pas identique.
Alors j'ai tester en mettant un underscore devant B2 et B3 ex: _testFonction.xlsx
Si quelqu’un a une idée Merci d'avance.
J'ai aucune connaissance en vba, mais j'ai besoin d'aide pour pouvoir exploiter cette fonction, cependant j'ai des erreur de compilation
Ce que je veux, c'est pouvoir lire les valeurs d'une matrice sur un autre fichier excel '~150 000, ma fonction doit lire la valeur de la cellule A3 du fichier cible. Dans mon fichier source (la ou est la macro, j'ai une feuille excel qui recupere les données des cellule cible, le probleme que j'ai eu est que j'utilisai des SI donc 150 000 x 56 colonne de SI, et bien excel n'a pas trop apprécié ^^. J'en ai marre de refaire les liens, j'ai besoin d"une methode pertinente. Merci
La formule que j'utilise dans excel [=LectureFichier(B1;B2;B3;B4)]
Avec B1=\\192.168.2.1\t-informatique\0-Travail_du_vendredi_soir\Archive
B2=testFonction.xlsx Note: C'est le nom exacte de mon fichier
B3=FeuilTest1 Note: C'est le nom exacte de ma feuille
B3=A3 Note: A3 c'est le n° de cellule du document cible
:::source
Code:
Sub LectureFichier() Function LinkFichierFFFC( _ Chemin As String, _ Fichier As String, _ Feuille As String, _ Cellule As Variant) As Variant Application.Volatile Dim Source As Object, Rst As Object, ADOCommand As Object Dim Cible As String Feuille = Feuille & "$" Cible = Cellule.Address(0, 0, xlA1, 0) & ":" & _ Cellule.Address(0, 0, xlA1, 0) Set Source = CreateObject("ADODB.Connection") Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Chemin & "\" & Fichier & _ ";Extended Properties=""Excel 8.0;HDR=No;"";" Set ADOCommand = CreateObject("ADODB.Command") With ADOCommand .ActiveConnection = Source .CommandText = "SELECT * FROM [" & Feuille & Cible & "]" End With Set Rst = CreateObject("ADODB.Recordset") '1 = adOpenKeyset, 3 = adLockOptimistic Rst.Open ADOCommand, , 1, 3 Set Rst = Source.Execute("[" & Feuille & Cible & "]") LinkFichierFFFC = Rst(0).Value Rst.Close Source.Close Set Source = Nothing Set Rst = Nothing Set ADOCommand = Nothing End Function End Function
J'obtiens l'erreur suivante dans Visual basic:
Erreur de compilation:
Seuls des commentaires peuvent apparaître après end sub
Et sur excel, on me demande de verifier les valeurs, que les noms commence par "_" , qu'il n'y est pas d'espace, que les noms ne soit pas identique.
Alors j'ai tester en mettant un underscore devant B2 et B3 ex: _testFonction.xlsx
Si quelqu’un a une idée Merci d'avance.
A voir également:
- Erreur de compilation vba sur excel 2016
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Déplacer colonne excel - Guide
Quelle version Excel ?
car
Extended Properties=""Excel 8.0 concerne des versions XL<2007
si je comprends, tu as ton classeur local, qui contient la macro, et un autre classeur, que tu appelles cible, dont une feuille contient 150 000 x 56 valeurs.
je ne comprends pas ce que tu souhaites faire avec la cellule A3 du classeur cible.
et je ne comprends pas ce que tu souhaites que fasse ta fonction.
tu écris "ca ne marche pas", mais cela ne remplace pas une description du comportement que tu essaies d'obtenir.
à tout hasard, essaie-tu d'expliquer que tu essaies de récupérer la cellule du classeur cible dont l'adresse est en A3 dans le classeur source?
n'hésite pas à donner plusieurs exemples, cela t'aidera à expliquer.
voir chapitre 3 de
https://silkyroad.developpez.com/VBA/ClasseursFermes/