Utilisation ou restitution VBA_Excel dans VBS
Résolu/Fermé
Phoenellion
Messages postés
116
Date d'inscription
dimanche 14 septembre 2008
Statut
Membre
Dernière intervention
30 août 2012
-
6 janv. 2012 à 01:59
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 6 mars 2012 à 00:19
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 6 mars 2012 à 00:19
Bonjour,
bonjour, j'ai pour projet de regrouper plusieurs macro développé sous VBA Excel, dans une seule micro application développée sous VB (avec Visual Basic 2010 Express) afin de ne pas devoir passer par Excel pour obtenir les résultats (les macro effectuent des traitements de compilation / recoupement / statistiques et les restituent sous tableau excel tirés à 4 épingles)
je sais que les micro applications développées sous VB peuvent faire appel aux fonctionnalités des logiciels de la suite office...
et j'ai beau chercher sur le net... personne ne semble s'être posé la question comme je me la pose, à savoir :
Comment faire appelle à une instruction VBA (Excel ou autre) depuis un code VB ?
de manière générale
bonjour, j'ai pour projet de regrouper plusieurs macro développé sous VBA Excel, dans une seule micro application développée sous VB (avec Visual Basic 2010 Express) afin de ne pas devoir passer par Excel pour obtenir les résultats (les macro effectuent des traitements de compilation / recoupement / statistiques et les restituent sous tableau excel tirés à 4 épingles)
je sais que les micro applications développées sous VB peuvent faire appel aux fonctionnalités des logiciels de la suite office...
et j'ai beau chercher sur le net... personne ne semble s'être posé la question comme je me la pose, à savoir :
Comment faire appelle à une instruction VBA (Excel ou autre) depuis un code VB ?
de manière générale
A voir également:
- Utilisation ou restitution VBA_Excel dans VBS
- Notice d'utilisation - Guide
- Utilisation chromecast - Guide
- Vbs windows - Accueil - Optimisation
- Votre compte a été désactivé pour violation de nos conditions d’utilisation - Guide
- Matthias utilise les réseaux sociaux. que doit-il faire dans chacune des situations suivantes ? - Forum Cloud
2 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
31 janv. 2012 à 08:39
31 janv. 2012 à 08:39
Re,
Tu dois spécifier l'objet auquel tu adresse la requête.
Déclarer un objet Excel ex -> MyExcell
Un Object Classeur ex -> MyBook
Un obect Feuille ex -> MySheet
et ensuite toutes les commandes doivent s'y rapporter.
With MySheet
Do While .Cells(1, y) <> ""
.........
A+
Tu dois spécifier l'objet auquel tu adresse la requête.
Déclarer un objet Excel ex -> MyExcell
Un Object Classeur ex -> MyBook
Un obect Feuille ex -> MySheet
et ensuite toutes les commandes doivent s'y rapporter.
With MySheet
Do While .Cells(1, y) <> ""
.........
A+
f894009
Messages postés
17267
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
23 mars 2025
1 713
6 janv. 2012 à 15:25
6 janv. 2012 à 15:25
Bonjour,
Ce lien vous emmene sur le site de developpez.com avec une idee de ce qui possible de faire en partant de VB.NET vers un classeur excel
ftp://ftp2.developpez.be/developps/dotnet/office/OfficeVb.pdf
De toute facon vous devrez adapter un minimum les instructions du VBA
Bonne suite
Ce lien vous emmene sur le site de developpez.com avec une idee de ce qui possible de faire en partant de VB.NET vers un classeur excel
ftp://ftp2.developpez.be/developps/dotnet/office/OfficeVb.pdf
De toute facon vous devrez adapter un minimum les instructions du VBA
Bonne suite
Phoenellion
Messages postés
116
Date d'inscription
dimanche 14 septembre 2008
Statut
Membre
Dernière intervention
30 août 2012
33
7 janv. 2012 à 09:35
7 janv. 2012 à 09:35
Bonjour,
merci pour le lien, je vais éplucher un peu ça pour commencer, je vous dirai si j'ai trouvé mon bonheur.
Pour ce que j'ai lu jusque là, on est obligé de créer une instance de l'appli dont on veut utiliser les fonctions. Donc si je développe en codant des fonctions qui n'existe qu'à partir de Excel 2007, le programme ne sera utilisable que si le PC utilisateur dispose d'Excel 2007 ou plus.
Exact ?
Ça empêchera tout utilisateur de mon programme de l'utiliser sur un PC ne disposant que de Excel 2003 voir pas du tout.
merci pour le lien, je vais éplucher un peu ça pour commencer, je vous dirai si j'ai trouvé mon bonheur.
Pour ce que j'ai lu jusque là, on est obligé de créer une instance de l'appli dont on veut utiliser les fonctions. Donc si je développe en codant des fonctions qui n'existe qu'à partir de Excel 2007, le programme ne sera utilisable que si le PC utilisateur dispose d'Excel 2007 ou plus.
Exact ?
Ça empêchera tout utilisateur de mon programme de l'utiliser sur un PC ne disposant que de Excel 2003 voir pas du tout.
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
7 janv. 2012 à 09:46
7 janv. 2012 à 09:46
Bonjour,
Suffit de n'employer des fonctions disponibles sous Excel 2003 et ça tournera sur 97-2003 aussi
A+
Suffit de n'employer des fonctions disponibles sous Excel 2003 et ça tournera sur 97-2003 aussi
A+
Phoenellion
Messages postés
116
Date d'inscription
dimanche 14 septembre 2008
Statut
Membre
Dernière intervention
30 août 2012
33
Modifié par Phoenellion le 31/01/2012 à 06:44
Modifié par Phoenellion le 31/01/2012 à 06:44
Bonjour,
enfin de retour, désolé pour le délai, j'ai dû laisser l'appli VB.NET de côté.
j'ai fait quelques essais, j'arrive ouvrir un classeur, en créer un, l'enregistrer, par contre, travailler dedant s'avère une autre paire de manches.
j'ai des erreur avec les instructions comme
cells(x,y).end(xlToLeft).row
Do While Cells(1, y) <> "",
et à peu près tout ce que j'ai l'habitude d'écrire en VBA.
je sens que ça va pas être de la tarte de retranscrire mes macro en DOTNET !!
enfin de retour, désolé pour le délai, j'ai dû laisser l'appli VB.NET de côté.
j'ai fait quelques essais, j'arrive ouvrir un classeur, en créer un, l'enregistrer, par contre, travailler dedant s'avère une autre paire de manches.
j'ai des erreur avec les instructions comme
cells(x,y).end(xlToLeft).row
Do While Cells(1, y) <> "",
et à peu près tout ce que j'ai l'habitude d'écrire en VBA.
je sens que ça va pas être de la tarte de retranscrire mes macro en DOTNET !!
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
Modifié par lermite222 le 6/03/2012 à 00:22
Modifié par lermite222 le 6/03/2012 à 00:22
et à peu près tout ce que j'ai l'habitude d'écrire en VBA.
cells(x,y).end(xlToLeft).row
Si c'est comme ça que tu pratique !! Row c'est pour les lignes et xlToLeft c'est pour les colonnes, et tu t'étonne que ça va pas ??
Et il est possible que les constantes ne fonctionnent pas (je suis pas certain)
En plus, dans ton titre tu parle de VBS et maintenant de VB.Net ?
Si tu avais expliquer ça depuis le début ça aurait été plus simple.
A+
cells(x,y).end(xlToLeft).row
Si c'est comme ça que tu pratique !! Row c'est pour les lignes et xlToLeft c'est pour les colonnes, et tu t'étonne que ça va pas ??
Et il est possible que les constantes ne fonctionnent pas (je suis pas certain)
En plus, dans ton titre tu parle de VBS et maintenant de VB.Net ?
Si tu avais expliquer ça depuis le début ça aurait été plus simple.
A+
5 mars 2012 à 23:57
désolé pour un tel retard, j'ai du mettre le programme en question de côté pour un temps.
J'ai testé un peu ce que tu disais Lermite, en effet, c'était bien quelque chose comme ça, par contre, les objets Classeur et Feuille sont erronés, il donnent une erreur, mais sur sur ta théorie, j'ai utilisé un with sur l'application excel elle même et c'est passé.
Merci pour ton aide en tout cas.
@ bientôt
Phoe