Le même fichier sur deux écran mise à jours constante

Bonjour,

aujourd'hui j'ai un fichier excel sur une ligne de production j'aimerai savoir si c'est possible de le voir de mon pc en mise à jours constante ?

Donc que quand les employées remplisse le tableau que les modifications ce fasse automatiquement sur mon fichier.

Cordialement

Théoriquement non, enfin de ce que j 'en connais mais tu peux faire un fichier qui récupère les données du classeur ouvert avec une mis a jour toute les x minutes.

Voici deux code qui permettent de faire la mise à jours/ récupération de donnée normalement le code est bien commenté mais il faudra l'adapter !

Sub MAJ_DATA() 'reprise code d'import table de la macro import_data dans le module userform // macro de maj par timer des données
Dim wb_enregistrement As Workbook  'déclaration variable de gestion fichier excel
Dim cheminfichier, wb_recherche As String 'variable texte de gestion du chemin fichier enregistrement
Dim ligne_fichier_trait, col_fichier_trait, derligne_fich_enregist, debligne_fich_recherch As Integer
Dim Sel_fichiers()   'création variable tableau pour récupérer plusieurs fichiers
Dim Ctr As Double

'----------------------------------------------------------
'1. Définition chemin d'importation numéro 1
If ActiveSheet.Range("chemin").Value = "" Then Exit Sub 'si pas de chemin dans liste chemin, sortir directement
cheminfichier = ActiveSheet.Range("chemin").Value 'index 1er chemin à variable
'----------------------------------------------------------

'----------------------------------------------------------
'2. Définition variables et dernières opéraation dans fichier recherche avant import
Application.EnableEvents = False 'désactivationn événements macro feuille et fichier
ActiveSheet.Range("debut_liste", "B1048576").ClearContents 'RAZ liste fichier recherche
wb_recherche = ThisWorkbook.Name  'définir variable pour indiquer que cet le fichier recherche
ligne_fichier_trait = ActiveSheet.Range("chemin").Row 'reprise en variable: ligne cellule chemin
col_fichier_trait = ActiveSheet.Range("chemin").Column 'reprise en variable: colonne cellule chemin
debligne_fich_recherch = ThisWorkbook.Worksheets(1).Range("debut_liste").Row  '1er cellule où commence la liste
derligne_fich_enregist = 0 'recherche dernière ligne utilisé du fichier rechercher définition à 0 avant boucle, pour gérer les imports de plusieurs fichiers
'Application.Visible = False 'désaffiche application pour éviter pb intéraction non voulu suite à ouverture fichier pour import valeur
Application.ScreenUpdating = False
'----------------------------------------------------------

'----------------------------------------------------------
'3. Boucle import données si modification pour import de plusieurs fichiers
Do While Workbooks(wb_recherche).Worksheets(1).Range(Cells(ligne_fichier_trait, col_fichier_trait).Address).Value <> "" 'tant que ligne chemin non vide

      '////////////////////////////////////////////////////////// CTRLE STOP
      If Workbooks(wb_recherche).Worksheets(1).Range(Cells(ligne_fichier_trait, col_fichier_trait).Address).Value = "" Then Exit Do 'si ligne suivante à un chemin fichier vide alors sortie boucle
      '////////////////////////////////////////////////////////// CTRLE STOP - END

      '----------------------------------------------------------
      On Error GoTo error_import:
      Workbooks.Open (Workbooks(wb_recherche).Worksheets(1).Range(Cells(ligne_fichier_trait, col_fichier_trait).Address).Value) 'ouvre fichier à traiter
      Set wb_enregistrement = Application.ActiveWorkbook 'définition variable pour indiquer fichier enregistrement à traiter
      derligne_fich_enregist = wb_enregistrement.Worksheets(1).Range("A1048576").End(xlUp).Row + derligne_fich_enregist 'recherche dernière ligne utilisé du fichier enregistrement
      export_tab = wb_enregistrement.Worksheets(1).Range("A" & debligne_fich_recherch, "B" & derligne_fich_enregist).Value 'copie valeurs en format texte fichier enregistrement dans variables
      Workbooks(wb_recherche).Worksheets(1).Range("A" & debligne_fich_recherch, "B" & derligne_fich_enregist).Value = export_tab  'colle valeurs texte variable dans fichier rechercher
      Workbooks(wb_enregistrement.Name).Close savechanges:=False 'ferme fichier enregistrement
'***********Gestion process erreur*********************
error_import:
'***********Gestion process erreur*********************
      debligne_fich_recherch = Workbooks(wb_recherche).Worksheets(1).Range("A1048576").End(xlUp).Row + 1 'recherche dernière ligne utilisé du fichier rechercher
      ligne_fichier_trait = ligne_fichier_trait + 1 'mouvement de +1 pour indiquer d'aller à la ligne suivante de la colonne chemin fichier enregistrement
      '----------------------------------------------------------
Loop
'----------------------------------------------------------

'----------------------------------------------------------
'4. Process fin traitement
Tri
ActiveSheet.Range("A1").Select 'reselection cellule pour ne pas rester sur selection plage colonne A/B
Application.EnableEvents = True 'désactivation événements macro feuille et fichier
Application.ScreenUpdating = True
Application.OnTime Now + TimeValue("00:21:00"), "MAJ_DATA" 'relance le timer dans x temps pour faire la maj suivante de la base
'Application.Visible = True 'active l'affichage de l'application
'MsgBox "Importation terminée, fichier recherche mis à jour", vbInformation, "Userform recherche"
'----------------------------------------------------------
End Sub

Sub import_data()
Dim wb_enregistrement As Workbook  'déclaration variable de gestion fichier excel
Dim cheminfichier, wb_recherche As String 'variable texte de gestion du chemin fichier enregistrement
Dim ligne_fichier_trait, col_fichier_trait, derligne_fich_enregist, debligne_fich_recherch As Integer

'----------------------------------------------------------
'1. Fenetre import chemin
cheminfichier = Application.GetOpenFilename("Fichiers Excels (*.xlsm), *.xlsm") 'def variable + import chemin
ActiveSheet.Range("chemin").Value = cheminfichier 'index chemin dans fichier
If cheminfichier = "Faux" Then End 'si rien arrête tout
'----------------------------------------------------------

'----------------------------------------------------------
'2. Définition variables et dernières opéraation dans fichier recherche avant import
Application.EnableEvents = False 'désactivationn événements macro feuille et fichier
ActiveSheet.Range("debut_liste", "B1048576").ClearContents 'RAZ liste fichier recherche
wb_recherche = ThisWorkbook.Name  'définir variable pour indiquer que cet le fichier recherche
ligne_fichier_trait = ActiveSheet.Range("chemin").Row 'reprise en variable: ligne cellule chemin
col_fichier_trait = ActiveSheet.Range("chemin").Column 'reprise en variable: colonne cellule chemin
debligne_fich_recherch = ThisWorkbook.Worksheets(1).Range("debut_liste").End(xlUp).Row  'recherche dernière ligne utilisé du fichier rechercher
Application.Visible = False 'désaffiche application pour éviter pb intéraction non voulu suite à ouverture fichier pour import valeur
'----------------------------------------------------------

'----------------------------------------------------------
'3. Boucle import données
Do While Workbooks(wb_recherche).Worksheets(1).Range(Cells(ligne_fichier_trait, col_fichier_trait).Address).Value <> "" 'tant que ligne chemin non vide

      '////////////////////////////////////////////////////////// CTRLE STOP
      If Workbooks(wb_recherche).Worksheets(1).Range(Cells(ligne_fichier_trait, col_fichier_trait).Address).Value = "" Then Exit Do 'si ligne suivante à un chemin fichier vide alors sortie boucle
      '////////////////////////////////////////////////////////// CTRLE STOP - END

      '----------------------------------------------------------
      'On Error GoTo error_import:
      Workbooks.Open (Workbooks(wb_recherche).Worksheets(1).Range(Cells(ligne_fichier_trait, col_fichier_trait).Address).Value) 'ouvre fichier à traiter
      Set wb_enregistrement = Application.ActiveWorkbook 'définition variable pour indiquer fichier enregistrement à traiter
      derligne_fich_enregist = wb_enregistrement.Worksheets(1).Range("A1048576").End(xlUp).Row 'recherche dernière ligne utilisé du fichier enregistrement
      export_tab = wb_enregistrement.Worksheets(1).Range("A6", "B" & derligne_fich_enregist).Value 'copie valeurs en format texte fichier enregistrement dans variables
      Workbooks(wb_recherche).Worksheets(1).Range("A" & debligne_fich_recherch, "B" & derligne_fich_enregist).Value = export_tab 'colle valeurs texte variable dans fichier rechercher
      Workbooks(wb_enregistrement.Name).Close savechanges:=False 'ferme fichier enregistrement
'***********Gestion process erreur*********************
error_import:
'***********Gestion process erreur*********************
      debligne_fich_recherch = Workbooks(wb_recherche).Worksheets(1).Range("A1048576").End(xlUp).Row + 1 'recherche dernière ligne utilisé du fichier rechercher
      ligne_fichier_trait = ligne_fichier_trait + 1 'mouvement de +1 pour indiquer d'aller à la ligne suivante de la colonne chemin fichier enregistrement
      '----------------------------------------------------------
Loop
'----------------------------------------------------------

'----------------------------------------------------------
'4. Process fin traitement
Application.EnableEvents = True 'désactivationn événements macro feuille et fichier
Application.Visible = True 'active l'affichage de l'application
Tri
MsgBox "Importation terminée, fichier recherche mis à jour", vbInformation, "Userform recherche"
'----------------------------------------------------------
End Sub

et ceci dans thisworkbook pour le temps de mise à jours (ici 21 minutes)

Private Sub Workbook_Open()
On Error Resume Next 'passe toutes les erreurs
Application.OnTime Now + TimeValue("00:21:00"), "MAJ_DATA" 'à l'ouverture lancer un timer de x temps, qui se relancera à nouveau dans la macro maj_data
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next 'passe toutes les erreurs
Application.OnTime Now, "MAJ_DATA", , False  'arrêt du timer de x temps, qui se relance à nouveau dans la macro maj_data
End Sub

Bonjour,

A condition qu'il soit sur un réseau, tu peux partager le fichier (avec certaines limitations).

Il se mettra à jour régulièrement.

En enregistrant le tien tu forces aussi une mise à jour.

eric

Bonjour,

Merci pour vos réponse pour les macro qu'est ce que je dois adapter? je t’avouerai qu'un lundi matin comme ça j'ai vu tous le code en couleur sur mon écrans j suis devenue tétraplégique x).

Et eric si je le met en "partager limitation de donnée tu sais a peu prêt la fréquences de mise à jour du fichier ?

cordialement

Bonjour,

quand tu partages tu vas dans l'onglet 'Avancé' et là tu peux baisser à 5 min.

Mais comme je t'ai dit, un simple Enregistrer lorsque tu consultes force à rapatrier les dernières maj.

Tu peux te mettre l'icone dans la barre d'outil Accès rapide pour l'avoir toujours à portée d'un clic.

eric

merci

Rechercher des sujets similaires à "meme fichier deux ecran mise jours constante"