Lecture et écriture d'analyse entre 2 fichiers Excel
vincent024
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
vincent024 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
vincent024 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'essaie de mettre l'analyse que j'ai effectué à partir des données d'un fichier sur un autre fichier.
Pour tester, je met les résultats sur les deux fichiers à des endroits différents, cependant, j'écrit à chaque fois seulement dans celui que j'ai analyser. L'autre ne reçoit rien, mais on me demande d'enregistré manuellement une copie de celui-ci. En plus, j'ai des problèmes lorsque je ferme Excel et que je l'ouvre par la suite.
J'aimerais savoir quel est la bonne méthode parfaite pour fermer et ouvrir les fichiers Excel tout en gardant les modifications effectués.
Voici mon code actuelle:
Merci beaucoup de votre aide.
J'essaie de mettre l'analyse que j'ai effectué à partir des données d'un fichier sur un autre fichier.
Pour tester, je met les résultats sur les deux fichiers à des endroits différents, cependant, j'écrit à chaque fois seulement dans celui que j'ai analyser. L'autre ne reçoit rien, mais on me demande d'enregistré manuellement une copie de celui-ci. En plus, j'ai des problèmes lorsque je ferme Excel et que je l'ouvre par la suite.
J'aimerais savoir quel est la bonne méthode parfaite pour fermer et ouvrir les fichiers Excel tout en gardant les modifications effectués.
Voici mon code actuelle:
Public Sub Temps() 'Les variables utilisés pour l'accès au fichier Dim appExcel As Excel.Application 'Application Excel Dim wbExcel As Excel.Workbook 'Classeur Excel - Donnée à analyser Dim wsExcel As Excel.Worksheet 'Feuille Excel - Donnée à analyser Dim appExcel2 As Excel.Application 'Application Excel Dim wbExcel2 As Excel.Workbook 'Classeur Excel - Doit recevoir les résultats Dim wsExcel2 As Excel.Worksheet 'Feuille Excel - Doit Recevoir les résultats 'Les variables utilisés pour le calcul des temps Dim flag_normal_time As Boolean, i As Long 'Flag_normal_time pour savoir si on déjà partie le chronomètre du temps normal Dim time_start As Date, time_end As Date 'Période de temps où on est en phase landing Dim flag_trouble_time As Boolean 'Flage_trouble_time pour savoir si on déjà partie le chronomètre du temps "No-Phase". Dim time_trouble_start As Date, time_trouble_end As Date 'Période de temps sans phase Dim Colonne_Landing As String, Colonne_temps As String, Colonne_Roll_Out As String 'Permet de définir les colonnes de lecture -> Plus facile pour adapter plus tard comme parametre '---------------------------------------------------------------------- '---------------------------------------------------------------------- 'Semble s'être fait, car si change un truc dans ce fichier les chiffres font aussi changer. 'Initialisation des variables pour le fichier à analyser 'ouverture de l'application Set appExcel = CreateObject("Excel.Application") 'Ouverture d'un fichier Excel Set wbExcel = appExcel.Workbooks.Open("C:\Document_travailler\Fichier_test_1.xlsx") 'wsExcel correspond à la première feuille du fichier Set wsExcel = wbExcel.Worksheets(1) wbExcel.Activate 'Execution de ce fichier wsExcel.Activate 'Excecution dans cette feuille. 'Initialisation des variables pour le calcul de temps flag_normal_time = False time_start = 0 '12:00:00 AM time_end = 0 '12:00:00 AM flag_trouble_time = False time_trouble_start = 0 '12:00:00 AM time_trouble_end = 0 '12:00:00 AM Colonne_Landing = "P" Colonne_temps = "B" Colonne_Roll_Out = "R" '---------------------------------------------------------------------- '---------------------------------------------------------------------- ' ' Code de l'analyse dans ce fichier - fonctionne parfaitement bien ' 'Écriture des résultat dans le fichier analyser - se fait parfaitement bien Range("U5").Value = time_start 'Affichage du temps où est passé à 1 Range("U6").Value = time_end 'Affichage du temps lorsqu'est passé à 0 Range("U7").Value = time_end - time_start 'Affichage de la différence temps Range("U9").Value = time_trouble_start Range("U10").Value = time_trouble_end Range("U11").Value = time_trouble_end - time_trouble_start wbExcel.Close savechanges:=True appExcel.ScreenUpdating = True '-------------------------------------------------------------- 'Écrire les résultats dans un autre fichier -> N'a pas fonctionné 'ouverture de l'application Set appExcel2 = CreateObject("Excel.Application") 'Ouverture d'un fichier Excel Set wbExcel2 = appExcel2.Workbooks.Open("C:\Document_travailler\Vincent_Resultat.xlsm") 'wsExcel correspond à la première feuille du fichier Set wsExcel2 = wbExcel2.Worksheets(1) wbExcel2.Activate 'Excution de ce fichier. wsExcel2.Activate 'Excecution dans cette feuille. 'Écriture des résultat dans le fichier (se fait actuellement dans le fichier analyse et pas dans celui-ci) Range("X5").Value = time_start 'Affichage du temps où est passé à 1 Range("X6").Value = time_end 'Affichage du temps lorsqu'est passé à 0 Range("X7").Value = time_end - time_start 'Affichage de la différence temps Range("X9").Value = time_trouble_start Range("X10").Value = time_trouble_end Range("X11").Value = time_trouble_end - time_trouble_start wbExcel2.Close savechanges:=True appExcel2.ScreenUpdating = True End Sub
Merci beaucoup de votre aide.
A voir également:
- Lecture et écriture d'analyse entre 2 fichiers Excel
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Écriture facebook - Guide
- Si et excel - Guide
- Ecriture en gras - Guide
2 réponses
Bonjour,
Si vous programmez en VBA Excel, pourquoi creer des applications Excel pour ouvrir et traiter vos deux fichiers ?????????????????????
Si vous programmez en VBA Excel, pourquoi creer des applications Excel pour ouvrir et traiter vos deux fichiers ?????????????????????
J'ai trouvé cette partie de code sur internet et je l'ai essayer.
Finalement, cela n'a rien donnée puisque le programme ne fait aucunement le différence entre les fichiers. Il s'exécute dans celui où je suis actif lorsque je le fais fonctionner.
S'il y a une meilleur solution, j'aimerais le savoir.
Merci de l'aide.
Finalement, cela n'a rien donnée puisque le programme ne fait aucunement le différence entre les fichiers. Il s'exécute dans celui où je suis actif lorsque je le fais fonctionner.
S'il y a une meilleur solution, j'aimerais le savoir.
Merci de l'aide.
En fait, je voulais lire les informations du fichier "Fichier_test_1.xlsx" afin de calculer une différence de temps. Le calcul de la différence temps fonctionne et c'est pour cela que je l'ai exclue.
Par la suite, j'ai voulue écrire les résultats dans ce fichier, dans la colonne "U" et écrire ces résultats dans un autre fichier, le fichier "Vincent_resultats.xlsm", dans la colonne "X".
La lecture et l'écriture, pour les deux fichier, ce fait dans la première feuille.
Par la suite, j'ai voulue écrire les résultats dans ce fichier, dans la colonne "U" et écrire ces résultats dans un autre fichier, le fichier "Vincent_resultats.xlsm", dans la colonne "X".
La lecture et l'écriture, pour les deux fichier, ce fait dans la première feuille.
Bonjour,
Mon objectif n'était pas de le faire dans un troisième fichier (si j'ai fait cela sans le savoir).
Mon objectif n'était vraiment que de lire la feuille 1 du fichier "Fichier_test_1.xlsx" via les colonnes « B », « R » et « P ». Ensuite, mettre le résultat dans la colonne "U" de la première page de ce fichier. Finalement, écrire les mêmes résultats dans la feuille 1 du fichier "Vincent_resultats.xlsm", à la colonne "X".
Ma méthode n'a pas fonctionné et c'est pour cela que je cherche une solution via ce forum.
Actuellement, la macro met toujours les résultats dans le fichier actif et non dans les fichiers où j’aimerais qu’elles aient.
Merci de votre aide.
Mon objectif n'était pas de le faire dans un troisième fichier (si j'ai fait cela sans le savoir).
Mon objectif n'était vraiment que de lire la feuille 1 du fichier "Fichier_test_1.xlsx" via les colonnes « B », « R » et « P ». Ensuite, mettre le résultat dans la colonne "U" de la première page de ce fichier. Finalement, écrire les mêmes résultats dans la feuille 1 du fichier "Vincent_resultats.xlsm", à la colonne "X".
Ma méthode n'a pas fonctionné et c'est pour cela que je cherche une solution via ce forum.
Actuellement, la macro met toujours les résultats dans le fichier actif et non dans les fichiers où j’aimerais qu’elles aient.
Merci de votre aide.