1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur en efficacité énergétique
    Inscrit en
    mai 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en efficacité énergétique

    Informations forums :
    Inscription : mai 2017
    Messages : 19
    Points : 1
    Points
    1

    Par défaut VBA : Mise à jour de plusieurs liens d'accès au fichier automatique

    Bonjour,

    Je cherche depuis plusieurs jours et je ne trouve pas de solutions à mon problème.

    J'ai un fichier Excel et un fichier Powerpoint. J'ai lié plusieurs tableaux et graphiques du Excel sur le Powerpoint.
    Malheureusement, ces fichiers sont destinés à plusieurs personnes. Je dois donc copier le fichier Excel et le fichier Powerpoint. Une fois ces fichiers copiés, je me rends compte que le fichier Powerpoint ainsi copié est toujours lié au fichier Excel original. Ayant des dizaines et des dizaines de liens, je ne peux pas passer par la modification de la source lien par lien.

    C'est pourquoi je viens vers vous pour savoir si vous pouviez m'aider à créer un code VBA pour que tous les liens se mettent à jours automatiquement svp sans devoir faire la manoeuvre lien par lien svp?

    De plus, ces fichiers seront surement mis sur un serveur commun, donc chaque utilisateur devra copier ces fichiers à partir du serveur local et activer ce code VBA.

    Je vous remercie d'avance,

    Rémy.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    12 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 12 031
    Points : 26 771
    Points
    26 771

    Par défaut

    Salut,

    quels sont les essais VBA que tu as deja essaye de tenter ?

    A la volee, ca peut donner quelque chose comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Piou()
    Dim shp As Shape
    Dim sld As Slide
     
    'boucle sur tous les slides
      For Each sld In ActivePresentation.Slides
    'boucle sur tous les shapes
        For Each shp In sld.Shapes
            shp.LinkFormat.BreakLink
        Next shp
      Next sld
    End Sub
    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur en efficacité énergétique
    Inscrit en
    mai 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en efficacité énergétique

    Informations forums :
    Inscription : mai 2017
    Messages : 19
    Points : 1
    Points
    1

    Par défaut

    Salut,

    Le code que tu m'as envoyé m'indique un code erreur :
    "Erreur d'exécution '2147188160 (80048240)':
    LinkFormat (unknwon member) : Invalid request. This operation requires a linked object."
    Mes essais ont été :
    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
    Sub HyperLinkSearchReplace()
     
        Dim oSl As Slide
        Dim oHl As Hyperlink
        Dim sSearchFor As String
        Dim sReplaceWith As String
        Dim oSh As Shape
     
        sSearchFor = InputBox("What text should I search for?", "Search for ...")
        If sSearchFor = "" Then
            Exit Sub
        End If
     
        sReplaceWith = InputBox("What text should I replace" & vbCrLf _
            & sSearchFor & vbCrLf _
            & "with?", "Replace with ...")
        If sReplaceWith = "" Then
            Exit Sub
        End If
     
        On Error Resume Next
     
        For Each oSl In ActivePresentation.Slides
     
            For Each oHl In oSl.Hyperlinks
                oHl.Address = Replace(oHl.Address, sSearchFor, sReplaceWith)
                oHl.SubAddress = Replace(oHl.SubAddress, sSearchFor, sReplaceWith)
            Next    ' hyperlink
     
            ' and thanks to several astute user suggestions, let's fix OLE links
            ' and movie/sound linkes too
            For Each oSh In oSl.Shapes
               If oSh.Type = msoLinkedOLEObject _
                Or oSh.Type = msoMedia Then
                  oSh.LinkFormat.SourceFullName = _
                       Replace(oSh.LinkFormat.SourceFullName, _
                       sSearchFor, sReplaceWith)
               End If
           Next
     
        Next    ' slide
     
    End Sub
    Mais ce dernier fonctionne une fois sur 20000 mille, à chaque fois qu'il ne marche pas il m'indique qu'Excel ne peut pas ouvrir deux fichiers du même nom...

    - j'ai essayé la fonction "Cherche & Remplace" mais aucun succès non plus...

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    12 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 12 031
    Points : 26 771
    Points
    26 771

    Par défaut

    OK,

    je ne procede pas comme ca mais faute de temps je te propose le bourrin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    On Error Resume Next
    For Each shp In sld.Shapes
            shp.LinkFormat.BreakLink
        Next shp
    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur en efficacité énergétique
    Inscrit en
    mai 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en efficacité énergétique

    Informations forums :
    Inscription : mai 2017
    Messages : 19
    Points : 1
    Points
    1

    Par défaut

    La fonction Breaklink va juste écraser mes liens et non me les modifier comme il le faut non?

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    12 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 12 031
    Points : 26 771
    Points
    26 771

    Par défaut

    Oui, mais tes liens en "local" ca signifie quoi exactement pour toi ?

    En fait tu veux faire une copie des donnees (comme un copier coller par valeur sous Excel), non ?
    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur en efficacité énergétique
    Inscrit en
    mai 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en efficacité énergétique

    Informations forums :
    Inscription : mai 2017
    Messages : 19
    Points : 1
    Points
    1

    Par défaut

    En fait, j'ai un fichier Excel et un fichier Powerpoint qui sont liés par des tableaux et des graphiques (j'ai utilisé la fonction collage spéciale, collage lié) dans un dossier appelé A. Lorsque je copie ces deux fichiers dans un dossier appelé B, le fichier Powerpoint du dossier B est toujours rattaché au fichier Excel du dossier A.

    J'aimerai qu'une macro puisse m'aider à changer directement la source des liaisons pour que le fichier Powerpoint du dossier B soit lié au fichier Excel du dossier B et non plus à celui du dossier A. Je sais que l'on peut le faire lien par lien mais comme il y a une centaine de lien, c'est trop long et trop fastidieux.

    Merci d'avance pour ton aide.

    Rémy.

  8. #8
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    12 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 12 031
    Points : 26 771
    Points
    26 771

    Par défaut

    OK, je comprends mieux

    regarde en partant vers ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    dim sld As Slide
    dim shp As Shape
    For each sld in ActivePresentation.Slides
    For each shp in sld.Shapes
    With shp
    If .Type = msoLinkedOLEObject Then
    With .LinkFormat
    .SourceFullName = NouveLienExcel
    .AutoUpdate = ppUpdateOptionManual
    End With
    End If
    End With
    Next 'shp
    Next 'sld
    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur en efficacité énergétique
    Inscrit en
    mai 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en efficacité énergétique

    Informations forums :
    Inscription : mai 2017
    Messages : 19
    Points : 1
    Points
    1

    Par défaut

    Je t'ai mis le code erreur que cela m'affiche en pièce jointe

    Merci
    Images attachées Images attachées  

  10. #10
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    12 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 12 031
    Points : 26 771
    Points
    26 771

    Par défaut

    Certes, mais ton lien Excel NouveLienExcel a-t-il au moins ete correctement renseigne ?

    https://msdn.microsoft.com/fr-fr/lib.../ff745161.aspx
    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur en efficacité énergétique
    Inscrit en
    mai 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en efficacité énergétique

    Informations forums :
    Inscription : mai 2017
    Messages : 19
    Points : 1
    Points
    1

    Par défaut

    Oui et cela m'ouvre une fenêtre Excel m'indiquant (voir pièce jointe)
    Images attachées Images attachées  

  12. #12
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    12 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 12 031
    Points : 26 771
    Points
    26 771

    Par défaut

    OK, en fermant ton fichier Excel en question sous Excel ?

    Sinon faudra aller changer les cles de registre.
    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur en efficacité énergétique
    Inscrit en
    mai 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en efficacité énergétique

    Informations forums :
    Inscription : mai 2017
    Messages : 19
    Points : 1
    Points
    1

    Par défaut

    En fait quand je lance la macro elle tourne en boucle sans s'arrêter même au bout de 5 min, ce qui me paraît long...
    Quand j'ouvre Excel, ça m'affiche qu'Excel ne peut pas ouvrir deux fichier de même nom...
    Peut-être faut-il que mon fichier Excel dans le dossier B ne doit pas avoir le même nom que le fichier Excel du dossier A non?

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur en efficacité énergétique
    Inscrit en
    mai 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en efficacité énergétique

    Informations forums :
    Inscription : mai 2017
    Messages : 19
    Points : 1
    Points
    1

    Par défaut

    Même en changeant de nom ça ne fonctionne pas ...

  15. #15
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    12 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 12 031
    Points : 26 771
    Points
    26 771

    Par défaut

    Puis je te suggerer de virer les liens et de passer a un copier coller du tableau dans le slide ?


    Je passe par un Copy cote Excel et un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PPTApp.CommandBars.ExecuteMso ("PasteExcelTableDestinationTableStyle")
    cote PPT.
    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur en efficacité énergétique
    Inscrit en
    mai 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en efficacité énergétique

    Informations forums :
    Inscription : mai 2017
    Messages : 19
    Points : 1
    Points
    1

    Par défaut

    Désolé je n'ai pas compris...

  17. #17
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    12 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 12 031
    Points : 26 771
    Points
    26 771

    Par défaut

    Actuellement tu mets des liens de fichiers Excel.

    Ce lien est-il une absolue necessite ou bien une recopie des tableaux/graphes depuis Excel vers PPT ferait l'affaire ?
    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  18. #18
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur en efficacité énergétique
    Inscrit en
    mai 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en efficacité énergétique

    Informations forums :
    Inscription : mai 2017
    Messages : 19
    Points : 1
    Points
    1

    Par défaut

    C'est une absolue nécessité puisque le but étant de gagner du temps à ne pas remplir le fichier Powerpoint après c haque modification sur Excel mais que ceci se fasse automatiquement

  19. #19
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    12 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 12 031
    Points : 26 771
    Points
    26 771

    Par défaut

    Jai exactement la meme thematique, et je suis passe par une regeneration from scratch a partir d'un template de toutes les slides
    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  20. #20
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur en efficacité énergétique
    Inscrit en
    mai 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en efficacité énergétique

    Informations forums :
    Inscription : mai 2017
    Messages : 19
    Points : 1
    Points
    1

    Par défaut

    Désolé mais ce qui veut dire ? ^^

Discussions similaires

  1. [AC-2003] Mise à jour de plusieurs table à partir d'un fichier Excel
    Par jubourbon dans le forum Modélisation
    Réponses: 2
    Dernier message: 26/09/2011, 16h46
  2. [VBA]Mise à jour de lien par vba problème
    Par srame dans le forum Général VBA
    Réponses: 19
    Dernier message: 20/04/2007, 15h54
  3. Réponses: 6
    Dernier message: 29/06/2006, 14h00
  4. Mise à jour de plusieurs tables
    Par NAMORJOSE dans le forum Access
    Réponses: 1
    Dernier message: 19/11/2005, 08h33
  5. [VBA] Mise à jour à chaque frappe clavier
    Par Virgile59 dans le forum Access
    Réponses: 6
    Dernier message: 07/11/2005, 12h07

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