IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Mise a jour selon date de modification [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Juin 2011
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 80
    Points : 41
    Points
    41
    Par défaut Mise a jour selon date de modification
    Bonjour à tous,

    Voila ma situation : j'ai un dossier contenant de nombreux fichiers Excel, chacun d'ux contenant de nombreuses données. Un dernier fichier a été créé afin de synthétiser toutes les données de tous ces fichiers (j'espere que je me fais bien comprendre).
    Ainsi lors du démarage, la mise a jour du fichier synthèse est très (très) longue. Je voudrais diminuer ce temps.
    Mon idée était donc de créer un programme qui vérifie la date de modification de chaque fichier et ainsi si elle est supérieure à la précédente mise a jour, la modification dans fichier synthèse se fait, sinon rien ne se passe et on gagne ainsi du temps.

    Deja est-ce que vous pensez que ca marcherait?
    Et si oui, quelqu'un aurait une piste ou complètement une macro? Où quelles fonctions je pourrait utiliser?

    J'espère que je me suis bien fait comprendre sinon demander moi de réexpliquer.

    Merci d'avance

    Tioch

  2. #2
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonjour Tioch,

    Je ne prétends pas avoir la solution toute faîte.
    Cependant, je soumets cette procédure à l'aval de mes chers collègues plus compétents

    L'idée

    1 - Alimenter une variable Tableau selon le critère de date de création du classeur

    2 - Mettre à jour par VBA la(les) liaison(s) suivant ce tableau

    ce qui donnerait un code de ce type (pas testé)
    (ne pas oublier d'activer la référence Microsoft indiquée)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Sub listeFichiersXLS_Repertoire()
    Dim Dossier As String
     
    Dossier = "LECHEMINCOMPLET"
     
    'indiquer False pour ne pas rechercher dans les sous repertoires
    ListFilesInFolder Dossier, True
     
    End Sub
     
    Sub ListFilesInFolder(SourceFolderName As String, IncludeSubfolders As Boolean)
    ' adapté de Ole P Erlandsen
    'necessite d'activer la reference Microsoft Scripting RunTime
    Dim Fso As Scripting.FileSystemObject
    Dim SourceFolder As Scripting.Folder
    Dim SubFolder As Scripting.Folder
    Dim FileItem As Scripting.File
    Dim i As Long
    Dim tabloliens() As String
     
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set SourceFolder = Fso.GetFolder(SourceFolderName)
     
    i = 0
     
    For Each FileItem In SourceFolder.Files
     
            With FileItem
     
                    If .Type = "Microsoft Excel Worksheet" And .DateLastModified > CDate("30/04/11") Then
                            i = i + 1
                            ReDim Preserve tabloliens(1 To i)
                            tabloliens(i) = ThisWorkbook.Path & "\" & .Name
                    End If
     
            End With
     
    Next FileItem
     
    'Pour éviter les liaisons inexistantes
    On Error Resume Next
     
    For i = 1 To UBound(tabloliens)
        ThisWorkbook.UpdateLink Name:=tabloliens(i), Type:=xlExcelLinks
    Next
     
    End Sub
    Je pense que c'est une voie.

    Salut à tous,

    En complément, on peut lister les documents liés à un classseur.

    Voir

    liste des documents liés

    Et tester la date de création pour en mettre à jour la liaison.

    Une autre voie.

  3. #3
    Membre du Club
    Inscrit en
    Juin 2011
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Merci MarcelG de tes réponses.
    Mais je ne comprends pas très bien où tu veux en venir et ce que tu veux faire.
    Pourquoi veux tu créer un tableau alors que j'en ai deja un?
    J'ai deja un code qui remplit le tableau. Mon but est lors de la mise a jour, le programme ne re-remplisse que les lignes (chaques lignes correspondant à un fichier excel) qui ont été modifiées depuis la dernière mise a jour.

    Merci encore, c'est grace à des gens comme toi que ca avance

    Tioch

  4. #4
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonjour tioch,

    Il ne faut pas confondre une variable tableau qui est une variable VBA, virtuelle, avec un tableau Excel.

    Cette variable tableau serait ici alimentée par les classeurs dont la date de création répond à un critère (voir le code).

    Dans un 2ème temps, la mise à jour des liaisons s'effectuerait en relation avec les seuls classeurs figurant dans ce tableau.

    Je soumets humblement cette proposition à mes collègues du Forum.

    Salut Tioch,

    En combinant ce qui précède

    Au préalable, dans le code ci-dessous, adapter :
    - le chemin complet du répertoiire à tester, ici Dossier
    - la date plancher, ici

    De plus, activer la référence Microsoft indiquée

    Je propose à la communauté (pas testé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    Sub Maj_liaisons_Repertoire()
    Dim Dossier As String
     
    Dossier = "LECHEMINCOMPLET"
     
    'indiquer False pour ne pas rechercher dans les sous repertoires
    ListFilesInFolder Dossier
     
    End Sub
     
    Sub ListFilesInFolder(SourceFolderName As String)
    ' adapté de Ole P Erlandsen
    'necessite d'activer la reference Microsoft Scripting RunTime
    Dim Fso As Scripting.FileSystemObject
    Dim SourceFolder As Scripting.Folder
    Dim SubFolder As Scripting.Folder
    Dim FileItem As Scripting.File
    Dim i As Long
    Dim tablo() As String
     
    Dim TabLiaisons As Variant
    Dim x As Integer
     
    Dim trouve As Boolean
     
    'Renvoie un tableau de TabLiaisons
    TabLiaisons = ThisWorkbook.LinkSources
     
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set SourceFolder = Fso.GetFolder(SourceFolderName)
     
    i = 0
     
    For Each FileItem In SourceFolder.Files
     
            With FileItem
     
                    If .Type = "Microsoft Excel Worksheet" And .DateLastModified > CDate("30/04/11") Then
                            i = i + 1
                            ReDim Preserve tablo(1 To i)
                            tablo(i) = ThisWorkbook.Path & "\" & .Name
                    End If
     
            End With
     
    Next FileItem
     
    For i = 1 To UBound(TabLiaisons)
        trouve = faux
        For x = 1 To UBound(tablo)
            If TabLiaisons(i) = tablo(x) Then
                trouve = True
                Exit For
            End If
         Next
        If trouve = True Then _
                ThisWorkbook.UpdateLink Name:=TabLiaisons(i), Type:=xlExcelLinks
    Next
     
    Set Fso = Nothing
    Set SourceFolder = Nothing
     
    Erase tablo
    Erase TabLiaisons
     
    End Sub

  5. #5
    Membre du Club
    Inscrit en
    Juin 2011
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    C'est cool d'avoir réalisé cette macro. J'ai essayé de la testé su mon tableau. Excel me dit qu'il un bug sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.UpdateLink Name:=TabLiaisons(i), Type:=xlExcelLinks
    que
    la méthode 'Updatelink' de l'objet '_Workbook' a échoué
    Donc si tu sais quel est le problème. Ca serait vraiment cool que ca marche.
    Je te passe un exemple (en gros) de dossier que je dois traiter (les originaux étant classés confidentiels) pour que tu te fasses une idées.

    Encore une fois merci
    Fichiers attachés Fichiers attachés

  6. #6
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Salut Tioch,

    Essaie d'ouvrir ton classeur sans activer les liaisons.

    Après avoir activé l'enregistreur de macros, mets à jour manuelement une liaison.

    Arrête l'enregistrement.

    Dans le dernier code ajoute

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If trouve = True Then :
    'Mettre cette ligne - précédente - en libellé            
    'ThisWorkbook.UpdateLink Name:=TabLiaisons(i), Type:=xlExcelLinks
     
    'Ces 2 lignes
     
    Debug.Print TabLiaisons(i)
    Debug.Print tablo(x)
    Regarde s'il ya une homogénéité, notamment dans le répertoire, entre le résultat de l'enregistrement de ta macro ci-dessus (enregistreur) et ta fenêtre Exécution.

    Peut-être une question de chemin.

  7. #7
    Membre du Club
    Inscrit en
    Juin 2011
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Alors j'ai rajouté les deux lignes comme tu m'as dis, du coup maintenant le bug se fait sur la ligne : Debug.Print tablo(x). La je ne comprends plus rien...

    Sinon j'ai enregistré la mise a jour comme tu m'a conseillé de faire et j'ai comme résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro enregistrée le 30/06/2011 par tioch
    '
     
    '
        Windows("fichier1.xls").Activate
        ActiveCell.FormulaR1C1 = "Etude"
        Range("F7:H7").Select
        Windows("fichier synthese.xls").Activate
    End Sub
    je pense pas que ca serve grand chose pour la macro que je veux réaliser?
    Enfin je me montre surement vu mon niveau en vba.

    Toujours merci de suivre mon affaire

  8. #8
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut enregistrement
    Salut Tioch,

    1- Il faut que tes fichiers de laisons soint tous placés sur le même répertoire

    2 - Ty n'as pas enregistré la macro come demandé, pendant l'enregistreur ton action doit consister à mettre à jour une laison.

    Ensuite, tu postes le résultat de cet enregistrement.

    3 - D'autre part, la variable "Dossier" du code proposé doit comporter l'adresse intégrale du répertoire où se trouvent tes fichiers de liaison.

    4 As-tu activé la référence Microsoft indiquée?

    5 - Remplace dans le code

    par

    puis juste au dessous, avant écris 6 - Copie également dans ton post le résultat intégral de ta fenêtre Exécution (CTRL + G)

  9. #9
    Membre du Club
    Inscrit en
    Juin 2011
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Salut Marcel

    Bon j'ai bien tout fait comme il faut :
    1- J'ai placé tous les fichiers dans un seul et même dossier
    3- Le dossier contient bien l'adresse intégrale du dossier nommé précédemment
    4- J'ai bien activé le microsoft scripting runtime
    5- J'ai remplacé le code et rajouter l'autre code

    Ainsi il reste le 2- et le 6-.
    Pour le 2- : Tout d'abord je ne comprends pas ce qu'il faut faire : enregistrer une macro de la mise a jour (enregister ca je sais faire sans probleme) mais pour la mise je ne sais pas, c'est justement le but final de ma demande (si je savais deja mettre à jour je ne demanderais).
    Pour le 6- : Le texte que j'ai contient juste le chemin du dossier suivi de chaque nom de fichier contenu dans ce dossier.

    Je sais pas si ca va beaucoup t'avancer. Si tu en a marre je comprendrais très bien. En tout cas encore une fois (pour un nouveau jour) merci.

  10. #10
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut liaisons
    Bonjour Tioch, Bonjour le Forum,

    Non, je n'en ai pas marre. L'objectif du Forum est de s'aider mutuellement.

    Pour le 2- : Tout d'abord je ne comprends pas ce qu'il faut faire : enregistrer une macro de la mise a jour (enregister ca je sais faire sans probleme) mais pour la mise je ne sais pas, c'est justement le but final de ma demande (si je savais deja mettre à jour je ne demanderais).
    Pour mettre à jour manuellement une laison
    - Ouvrir le fichier sans activer les liaisons (répondre non au pop-up d'invitation)
    - Menu Editions \ Liaisons
    - Choix du fichier
    - Activer le bouton "Mise à jour de la liaison"

    Ce sont ces 3 dernières actions qu'il te faut enregistrer par macro.
    Le code sur ton éditeur VBE te retournera le chemin complet du fichier lié.

    Pour le 6- : Le texte que j'ai contient juste le chemin du dossier suivi de chaque nom de fichier contenu dans ce dossier.
    C'et justement ce retour qui est à comparer, au caractère près, avec la macro enregistrée (partie 2 ci-dessus)

    Bonne journée.

  11. #11
    Membre du Club
    Inscrit en
    Juin 2011
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Ok ok, Donc c'est ce que j'ai fais.
    Et effectivement lors de l'enregistrement de la macro j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro enregistrée le 01/07/2011 par tioch'
     
    '
        ActiveWorkbook.UpdateLink Name:= _
            "C:\Documents and Settings\...\fichiertest.xls" _
            , Type:=xlExcelLinks
    End Sub
    Alors que lorsque je fais [Ctrl + G] je me retrouve avec un autre chemin pour accéder au fichier. Est ce de la l'erreur?

  12. #12
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Salut Tioch,

    Donc, en ce qui concerne le répertoire, il te reste à adaper le code en fonction du retour de l'enregistreur, ce que j'ai effectué ci-dessous.
    Fais juste une copie depuis ton éditeur, sans le caractère \ à la fin
    Pense également à modifier la date.

    Une fois lancé, regarde le résultat de ta fenêtre Exécution (CTRL + G)

    A savoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    Sub Maj_liaisons_Repertoire()
    Dim Dossier As String
     
    Dossier = "C:\Documents and Settings\..."
     
    'indiquer False pour ne pas rechercher dans les sous repertoires
    ListFilesInFolder Dossier
     
    End Sub
     
    Sub ListFilesInFolder(SourceFolderName As String)
    ' adapté de Ole P Erlandsen
    'necessite d'activer la reference Microsoft Scripting RunTime
    Dim Fso As Scripting.FileSystemObject
    Dim SourceFolder As Scripting.Folder
    Dim SubFolder As Scripting.Folder
    Dim FileItem As Scripting.File
    Dim i As Long
    Dim tablo() As String
     
    Dim TabLiaisons As Variant
    Dim x As Integer
     
    Dim trouve As Boolean
     
     
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set SourceFolder = Fso.GetFolder(SourceFolderName)
     
    i = 0
     
    For Each FileItem In SourceFolder.Files
     
            With FileItem
     
                    If .Type = "Microsoft Excel Worksheet" And .DateLastModified > CDate("30/07/09") Then
                            i = i + 1
                            ReDim Preserve tablo(1 To i)
                            tablo(i) = SourceFolderName & "\" & .Name
                            Debug.Print tablo(i)
                    End If
     
            End With
     
    Next FileItem
     
     
    'Renvoie un tableau de TabLiaisons
    TabLiaisons = ThisWorkbook.LinkSources
     
    For i = 1 To UBound(TabLiaisons)
        trouve = faux
        For x = 1 To UBound(tablo)
            If TabLiaisons(i) = tablo(x) Then
                trouve = True
                Exit For
            End If
         Next
        If trouve = True Then
                Debug.Print TabLiaisons(i)
                ThisWorkbook.UpdateLink Name:=TabLiaisons(i), Type:=xlExcelLinks
        End If
    Next
     
    Set Fso = Nothing
    Set SourceFolder = Nothing
     
    Erase tablo
    Erase TabLiaisons
     
    End Sub
    Pour ton information, j'ai testé ce code. Il donne bien le résultat escompté.

  13. #13
    Membre du Club
    Inscrit en
    Juin 2011
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Merci Marcel.

    Alors le code fonctionne sans probleme, il n'y a pas d'erreur mais je ne vois ce qu'il se passe. Je ne pense pas que cela ne corresponde a ce que je veux.

    Peux tu m'expliquer quel résultat escompté ce code développe. Pour voir si jej me suis bien fais comprendre.

    A bientôt

    Tioch

  14. #14
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut liaisons
    Salut Tioch,

    Selon ton souhait, le code active les liaissons de ton classeur par rapport aux classeurs liés dont la dernière sauvegarde est supérieure à une date donnée.

    Avant d'aller plus loin, peux-tu me confirmer que les 2 retours de ta fenêtre Exécution, après activation du code, sont identiques.

  15. #15
    Membre du Club
    Inscrit en
    Juin 2011
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 80
    Points : 41
    Points
    41
    Par défaut 2ème retour ?
    Salut Marcel,

    Je suis revenu après un week end bien mouvementé, désolé.
    Pour ton dernier message, je ne comprends pas les 2 retours. Je n'est qu'un retour lorsque j'éxecute le programme que tu m'as passé. A quoi correspond le deuxième?
    Merci bien et bon début de journée

  16. #16
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut debug print
    Bonjour Tioch,

    Dans le dernier code indiqué, et qu'il te faut appliquer, tu as 2 fois la méthode

    Ta fenêtre Exécution va donc te retourner 2 valeurs.
    Il faut vérifier si ces 2 valeurs donnent le même résultat.

  17. #17
    Membre du Club
    Inscrit en
    Juin 2011
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Ah oui ok.
    Alors j'ai 7 lignes au final, les 3 premières et 3 dernières sont identiques, et au milieu une ligne alone.
    Qu'est ce que cela veut dire? J'essaye vainement de comprendre mais c'est pas facile pour un non pro comme moi. Désolé.

    Merci

  18. #18
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut fenêtre Exécution
    Salut,

    La méthode

    te retourne un ou plusieurs argument(s) dans ta fenête Exécution.

    Elle a pour but ici de retourner d'une part la liste des classeurs créés depuis la date plancher, d'autre part la liste des classeurs dont la liaison va être mise à jour.

    D'après ton résultat, tu as 4 classeurs dans ta ressaource créés depuis la date plancher, dont 3 sont en liasons avec ton classeur. Ce sont ces 3 liaisons qui vont êttre mises à jour.

  19. #19
    Membre du Club
    Inscrit en
    Juin 2011
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Ok donc ca veut dire que ca marche bien?
    Si c'est le cas ca serait hyper cool.

  20. #20
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut mise à jour
    Tioch,

    Pour t'en rendre compte.

    (Suis bien précisément cette procédure)

    Dans une session Excel, tu ouvres ton classeur qui comporte toutes les laisons.

    Dans une deuxième session Excel (c.a.d. Tu ouvres Excel à nouveau dans ta session Windows)

    Tu ouvres 2 classeurs liés:
    - l'un sauvegardé avant ta date plancher
    - l'autre sauvegardé après cette date

    Dans chacun d'eux, tu modifies une valeur qui est reportée sur ton classeur principal.

    Tu fermes cette 2ème session Excel en sauvegardant tes 2 classeurs.

    Dans ton classeur principal, tu lances la procédure macro de mise à jour.

    1 seule cellule doit être modifiée.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. mise a jour champ date
    Par redoran dans le forum Bases de données
    Réponses: 4
    Dernier message: 23/11/2010, 09h39
  2. Mise a jour selon resultat d'une requete dans meme table
    Par Udutronik dans le forum VBA Access
    Réponses: 4
    Dernier message: 09/08/2007, 15h36
  3. Mise a jour selon Sous Formulaire
    Par Jah78 dans le forum IHM
    Réponses: 4
    Dernier message: 26/06/2007, 12h27
  4. requete de mise a jour champ date nul
    Par popofpopof dans le forum Access
    Réponses: 3
    Dernier message: 26/05/2007, 16h10
  5. Mise a jour de date dans une DB SQL server
    Par Arfigado dans le forum ASP
    Réponses: 3
    Dernier message: 05/09/2006, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo