VBA-Excel-MS Project

Fermé
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018 - 26 juin 2017 à 18:39
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018 - 28 juin 2017 à 19:37
Bonjour,

J´essaye d´interconnecter MS Project et Excel via VBA, j´ai activé mes librairies mais je n´arrive pas a assigner mon classeur excel a une varible

Dim wbExcel As Excel.Workbook
Dim stCaminoExcel$, stFichExcel$
stFichExcel = "PlaneamientoProtegido V-8.xlsm"
stCaminoExcel = "C:\Users\user\Desktop\Proyectos\Planeamiento\" & stFichExcel
'j´utilise pour faire un test si mon classseur excel est ouvert ce qui fonctionne mais quand j´essaye d' assigner ce classeur a une variable cela bug
Set wbExcel = Workbooks(stCaminoExcel)


J´arrive a vérifier si mon classeur est ouvert mais pas l´assigner a une varible pour utiliser certaines données de ce classeur.

Merci d´avance pour votre aide.
A voir également:

6 réponses

yg_be Messages postés 23514 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 4 avril 2025 Ambassadeur 1 575
26 juin 2017 à 22:22
bonsoir, peux-tu alors fermer la discussion qui fait maintenant doublon?
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
26 juin 2017 à 22:31
Bonsoir,

L´autre discussion est marqué comme résolu, on continue sur celle ci.

Tu as raison
0
yg_be Messages postés 23514 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 4 avril 2025 Ambassadeur 1 575
26 juin 2017 à 22:27
Dim XLapp As Excel.Application
Dim wbExcel As Excel.Workbook
Dim stCaminoExcel As String, stFichExcel As String
stFichExcel = "PlaneamientoProtegido V-8.xlsm"
stCaminoExcel = "C:\Users\user\Desktop\Proyectos\Planeamiento\" & stFichExcel
Set XLapp = New Excel.Application
Set wbExcel = XLapp.Workbooks.Open(stCaminoExcel)
'quel est le message d'erreur?
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
26 juin 2017 à 22:40
Dim xlSheet As Excel.Worksheet 
Dim stCaminoExcel$, stFichExcel$
stFichExcel = "Beta02-06-2017.xlsx"
stCaminoExcel = "C:\Users\user\Desktop\Planeamiento\Reporte\Beta\" & stFichExcel

If FichierEstOuvert(stCaminoExcel) Then
Set xlApp = New Excel.Application
xlApp.Visible = True
AppActivate "Excel"
Set xlBook = xlApp.Workbooks(stFichExcel)
'....


Message d ´erreur sur la derniere ligne :
erreur 9
subindice endehors de l´intervalle

Dsl c´est moi qui traduit depuis l´espagnol alors je ne connais pas les termes exacts

Merci
0
yg_be Messages postés 23514 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 4 avril 2025 Ambassadeur 1 575
Modifié le 26 juin 2017 à 23:10
Dim XLapp As Excel.Application
Dim wbExcel As Excel.Workbook
Dim stCaminoExcel As String, stFichExcel As String
stFichExcel = "Beta02-06-2017.xlsx"
stCaminoExcel = "C:\Users\user\Desktop\Planeamiento\Reporte\Beta\" & stFichExcel
Set XLapp = New Excel.Application
Set wbExcel = XLapp.Workbooks.Open(stCaminoExcel)

quel est le message d'erreur?
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
26 juin 2017 à 23:08
Set wbExcel = XLapp.Workbooks.Open(stCaminoExcel) 

Sur le open il n´y a pas de pb pour ce fichier mais le détail est que le fichier excel a parti duquel je veux travailller possede une inputbox a l´ouverture pour enregistrer l´utilisateur et ainsi restreindre les possibilités par la suite.

Pour cela que je cherche a assigner a ma variable de la facon suivante:
stFichExcel = "Beta02-06-2017.xlsx" 
Set wbExcel = xlApp.Workbooks(stFichExcel)


Je vérifie que mon document soit ouvert pour faire ceci.

Merci
0
yg_be Messages postés 23514 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 4 avril 2025 Ambassadeur 1 575
26 juin 2017 à 23:28
donc tu ne veux pas ouvrir le fichier à partir de Project, mais tu veux que Project travaille avec un fichier déjà ouvert par Excel. c'est bien cela?
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
26 juin 2017 à 23:30
Exectement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yg_be Messages postés 23514 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 4 avril 2025 Ambassadeur 1 575
26 juin 2017 à 23:39
et ainsi?
Dim XLapp As Excel.Application
Dim wbExcel As Excel.Workbook
Dim stCaminoExcel As String, stFichExcel As String
stFichExcel = "Beta02-06-2017.xlsx"
stCaminoExcel = "C:\Users\user\Desktop\Planeamiento\Reporte\Beta\" & stFichExcel
Set XLapp = New Excel.Application
XLapp.Visible = True
Set wbExcel = XLapp.Workbooks.Open(stCaminoExcel)
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
26 juin 2017 à 23:55
ca me l´ouvre une fois de plus

pour ouvrir c´est avec le chemin complet
Set wbExcel = XLapp.Workbooks.Open(stCaminoExcel)}

Mais pour assigner le classeur deja ouvert normalement c´est juste avec le non du classeur suivi de son extension?

Set xlBook = xlApp.Workbooks(stFichExcel)


Tu confirmes?
0
yg_be Messages postés 23514 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 4 avril 2025 1 575 > GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
27 juin 2017 à 00:03
je ne pense pas qu'il soit possible d'assigner le classeur déjà ouvert dans une autre instance de Excel.
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
27 juin 2017 à 00:16
Est ce que tu sais s´il y a un moyen de contourner pour que je puisse aller chercher des infos dans mon classeur deja ouvert genre :
Set xlBook = xlApp.Workbooks(stFichExcel)
Set xlSheet = xlBook.worksheets(1)
0
yg_be Messages postés 23514 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 4 avril 2025 1 575 > GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
27 juin 2017 à 09:03
je ne pense pas que ce soit possible.
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018 > yg_be Messages postés 23514 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 4 avril 2025
27 juin 2017 à 14:32
Bonjour,

ahhhrrrrffff va falloir une idée et une bonne!

Merci de l´aide
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
27 juin 2017 à 08:04
Bonjour,

essaie ceci:

Dim XLapp As New Excel.Application
Dim wbExcel As Excel.Workbook
Dim stCaminoExcel As String, stFichExcel As String
stFichExcel = "Beta02-06-2017.xlsx"
stCaminoExcel = "C:\Users\user\Desktop\Planeamiento\Reporte\Beta\" & stFichExcel
XLapp.Visible = True
Set wbExcel = XLapp.Workbooks.Open(stCaminoExcel)
 With wbExcel.Sheets(1) 'a adapter
 'ton code
 End With
XLapp.Quit

0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
27 juin 2017 à 14:36
Bonjour,

Mon classeur est deja ouvert car il s´ouvre avec mdp dans une inputbox, est ce que l´on cherche a faire c´est
Set wbExcel = XLapp.Workbooks.(stFichExcel)

et non:
Set wbExcel = XLapp.Workbooks.Open(stCaminoExcel)


Mais cela ne fonctionne pas ce que je vais faire c´est un backup des données qui m´interesse sur un autre fichier et oub¿vrir cet autre fichier.

Merci
0
yg_be Messages postés 23514 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 4 avril 2025 1 575 > GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
27 juin 2017 à 16:06
en fait ce que tu veux faire c'est, au lieu de:
Dim XLapp As Excel.Application
' exécuter une nouvelle copie de Excel
Set XLapp = New Excel.Application

quelque chose comme
Dim XLapp As Excel.Application
Set XLapp = ' se connecter à une copie active de Excel

et je ne pense pas que ce soit possible.
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018 > yg_be Messages postés 23514 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 4 avril 2025
27 juin 2017 à 16:15
Merci...

Du coup je travaille sur la création d´une backup des données que je veux utilisées, déterminer la backup la plus récente et ensuite l´ouvrir...

Je laisse la discution ainsi au cas ou il y est quelqu´un qui ait la bonne idée.

Merci yg_be
0
yg_be Messages postés 23514 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 4 avril 2025 1 575 > GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
27 juin 2017 à 19:23
je vois que ton excel principal est un xlsm.
peut-être pourrais-tu mettre les données dans un autre fichier excel, inconnu de l'utilisateur, et que Project et le xlsm utilise les données dans l'autre fichier excel?
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
28 juin 2017 à 19:37
Bonjour,

Ce que j´ai fait c´est de créer une backup de mes données en .xls, mais maintenant toutes les maccros que j´ai faite ont litéralement disparue, j´ai un probleme pour enregistrer mes macros avec MS Project.

Je ne sais pas d´ou provient ce probleme, j´ai essayé d´autres référence dans ma librairie, ou enregistrer un modele en version .mpt mais rien n´y fait...

Ce que je comprends pas c´est lorsque j´ouvre ma fenetre vba, j´ai 2 documents un modele et un autre dont le nom est le chemin ou j´enregistre mon Project.

J´ai fait des maccros dans les 2 mais rien y fait a un moment cela plante et je perds toute les données que j´ai enregistré ou pas...

J´ai posé une question sur le Forum sans réponse.

Le code d´erreur est tout d´abord module introuvale, puis avant de planté:
&h800757 (-2147024809)

Si tu as une idée je prenneur car rien trouvé sur le net...

Merci d´avance
0