Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/05/2007, 15h24   #1
Invité régulier
 
Inscription : mai 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 34
Points : 6
Points : 6
Par défaut Comment supprimer des liaisons excel/powerpoint via une macro?

Bonjour,

J'ai une 50aine de liaisons de graphiques excel vers powerpoint et je souhaiterai pouvoir supprimer ces liaisons via une macro.
J'ai essayé via l'enregistreur de macros mais il ne prend pas en compte l'opération.
Si quelqu'un avait la solution par du code vba ça s'rai super.

Merci

Toma
toma65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2007, 05h39   #2
Rédacteur
 
Homme michel Tanguy
Inscription : août 2005
Messages : 3 317
Détails du profil
Informations personnelles :
Nom : Homme michel Tanguy
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : août 2005
Messages : 3 317
Points : 10 706
Points : 10 706
bonjour

Tu peux tester cette procédure qui supprime les liaisons dans la deuxième diapositive:


Code :
1
2
3
4
5
6
7
Dim Forme As Shape
 
'boucle sur les objets de la deuxieme diapo
For Each Forme In ActivePresentation.Slides(2).Shapes
    If Forme.Type = msoLinkedOLEObject Then _
        Forme.LinkFormat.BreakLink
Next


michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2007, 09h40   #3
Invité régulier
 
Inscription : mai 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 34
Points : 6
Points : 6
Bonjour,

J'ai essayé ton code mais il ne reconnait pas l'expression breaklink
toma65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2007, 18h59   #4
Rédacteur
 
Homme michel Tanguy
Inscription : août 2005
Messages : 3 317
Détails du profil
Informations personnelles :
Nom : Homme michel Tanguy
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : août 2005
Messages : 3 317
Points : 10 706
Points : 10 706
bonjour

quelle est ta version de PowerPoint?


michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 08h55   #5
Invité régulier
 
Inscription : mai 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 34
Points : 6
Points : 6
Je suis sur Powerpoint 2003
toma65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 14h02   #6
Modératrice
 
Avatar de annedeblois
 
Femme Anne DeBlois
Analyste informatique
Inscription : août 2005
Messages : 1 406
Détails du profil
Informations personnelles :
Nom : Femme Anne DeBlois
Âge : 37
Localisation : Canada

Informations professionnelles :
Activité : Analyste informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 406
Points : 1 653
Points : 1 653
Envoyer un message via MSN à annedeblois
Quel est le message d'erreur, au juste?
__________________
Anne, citoyenne canadienne
Modératrice Windows, Hardware, Office et Autres logiciels
Informaticienne, altiste et radioamateur... bref, originale
Les règles... | Note: Je ne réponds à aucune question technique posée par MP
annedeblois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 14h52   #7
Invité régulier
 
Inscription : mai 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 34
Points : 6
Points : 6
Bonjour,

Il met débogage et il surligne Breaklink
toma65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 15h01   #8
Modératrice
 
Avatar de annedeblois
 
Femme Anne DeBlois
Analyste informatique
Inscription : août 2005
Messages : 1 406
Détails du profil
Informations personnelles :
Nom : Femme Anne DeBlois
Âge : 37
Localisation : Canada

Informations professionnelles :
Activité : Analyste informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 406
Points : 1 653
Points : 1 653
Envoyer un message via MSN à annedeblois
Citation:
Envoyé par toma65
Bonjour,

Il met débogage et il surligne Breaklink
Merci.

Curieux, ça, je ne trouve rien sur cette commande dans PPT 2003. J'ai comme l'impression que ce n'est pas pris en charge par cette version, ou qu'il y a un équivalent qui m'échappe.

EDIT - Au pis aller, j'ai trouvé du code pour faire passer la mise à jour des liaisons à manuel en VBA:

Code :
forme.LinkFormat.AutoUpdate = ppUpdateOptionManual
plutôt que le breaklink.
__________________
Anne, citoyenne canadienne
Modératrice Windows, Hardware, Office et Autres logiciels
Informaticienne, altiste et radioamateur... bref, originale
Les règles... | Note: Je ne réponds à aucune question technique posée par MP
annedeblois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 15h05   #9
Invité régulier
 
Inscription : mai 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 34
Points : 6
Points : 6
Ouai j'ai regardé, il ne la reconnait pas
Y'a pas un autre code qui existe?
De mon coté j'ai cherché sur le web, j'ai rien trouvé
toma65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 15h07   #10
Modératrice
 
Avatar de annedeblois
 
Femme Anne DeBlois
Analyste informatique
Inscription : août 2005
Messages : 1 406
Détails du profil
Informations personnelles :
Nom : Femme Anne DeBlois
Âge : 37
Localisation : Canada

Informations professionnelles :
Activité : Analyste informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 406
Points : 1 653
Points : 1 653
Envoyer un message via MSN à annedeblois
j'ai édité mon dernier message en ajoutant une ligne de code. Qu'est-ce que ça te dit?
__________________
Anne, citoyenne canadienne
Modératrice Windows, Hardware, Office et Autres logiciels
Informaticienne, altiste et radioamateur... bref, originale
Les règles... | Note: Je ne réponds à aucune question technique posée par MP
annedeblois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 16h02   #11
Invité régulier
 
Inscription : mai 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 34
Points : 6
Points : 6
J'ai testé avec ta modif, ca marche.
-->Ca passe en manuel.
C'est pas optimal puisque ca supprime pas les liens mais ca marche, c'est l'essentiel.

Je te remercie beaucoup
toma65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 16h07   #12
Modératrice
 
Avatar de annedeblois
 
Femme Anne DeBlois
Analyste informatique
Inscription : août 2005
Messages : 1 406
Détails du profil
Informations personnelles :
Nom : Femme Anne DeBlois
Âge : 37
Localisation : Canada

Informations professionnelles :
Activité : Analyste informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 406
Points : 1 653
Points : 1 653
Envoyer un message via MSN à annedeblois
Tout le plaisir est pour moi
__________________
Anne, citoyenne canadienne
Modératrice Windows, Hardware, Office et Autres logiciels
Informaticienne, altiste et radioamateur... bref, originale
Les règles... | Note: Je ne réponds à aucune question technique posée par MP
annedeblois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 16h20   #13
Invité régulier
 
Inscription : mai 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 34
Points : 6
Points : 6
Par contre désolé j'ai encore un petit soucis
je ne sais pas comment faire pour que l'update manuel s'applique à toutes les diapos et non pas a une diapo en particulier
j'ai essayé:
Code :
1
2
3
4
5
6
7
Sub Liaisons()
    For Each Forme In Presentations
        If Forme.Type = msoLinkedOLEObject Then
        Forme.LinkFormat.AutoUpdate = ppUpdateOptionManual
        End If
    Next
End Sub
mais ca ne marche pas malheureusement
toma65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 16h27   #14
Modératrice
 
Avatar de annedeblois
 
Femme Anne DeBlois
Analyste informatique
Inscription : août 2005
Messages : 1 406
Détails du profil
Informations personnelles :
Nom : Femme Anne DeBlois
Âge : 37
Localisation : Canada

Informations professionnelles :
Activité : Analyste informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 406
Points : 1 653
Points : 1 653
Envoyer un message via MSN à annedeblois
Mea culpa, j'aurais dû te copier le code au complet. J'ai trouvé

Code :
1
2
3
4
5
6
7
8
9
For Each sld In ActivePresentation.Slides
    For Each sh In sld.Shapes
        If sh.Type = msoLinkedOLEObject Then
            If sh.OLEFormat.ProgID = "Excel.Sheet" Then
                sh.LinkFormat.AutoUpdate = ppUpdateOptionManual
            End If
        End If
    Next
Next
Est-ce que ça fonctionnera comme ça?
__________________
Anne, citoyenne canadienne
Modératrice Windows, Hardware, Office et Autres logiciels
Informaticienne, altiste et radioamateur... bref, originale
Les règles... | Note: Je ne réponds à aucune question technique posée par MP
annedeblois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 16h54   #15
Invité régulier
 
Inscription : mai 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 34
Points : 6
Points : 6
Est-ce que tu pourrais me donner les variables aussi (sh et sld)
mais je ne pense pas que ca vienne de ca

c'est ma premiere ligne qui doit etre fausse:
Code :
For Each Forme In ActivePresentation.Slides
toma65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 16h58   #16
Modératrice
 
Avatar de annedeblois
 
Femme Anne DeBlois
Analyste informatique
Inscription : août 2005
Messages : 1 406
Détails du profil
Informations personnelles :
Nom : Femme Anne DeBlois
Âge : 37
Localisation : Canada

Informations professionnelles :
Activité : Analyste informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 406
Points : 1 653
Points : 1 653
Envoyer un message via MSN à annedeblois
Citation:
Envoyé par toma65
Est-ce que tu pourrais me donner les variables aussi (sh et sld)
mais je ne pense pas que ca vienne de ca

c'est ma premiere ligne qui doit etre fausse:
Code :
For Each Forme In ActivePresentation.Slides
sh effectivement devient Forme dans ton code, seulement pour le sld, l'exemple ne dit pas si c'est un entier incrémenté ou une variable créée pour les diapositives et pour ça j'sais pas
__________________
Anne, citoyenne canadienne
Modératrice Windows, Hardware, Office et Autres logiciels
Informaticienne, altiste et radioamateur... bref, originale
Les règles... | Note: Je ne réponds à aucune question technique posée par MP
annedeblois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 17h34   #17
Invité régulier
 
Inscription : mai 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 34
Points : 6
Points : 6
C'est bon, ca marche nickel, ca met à jour tous les slides
voila le code:

Code :
1
2
3
4
5
6
7
8
9
Sub Liaisons()
    For Each sld In ActivePresentation.Slides
        For Each Forme In sld.Shapes
            If Forme.Type = msoLinkedOLEObject Then
            Forme.LinkFormat.AutoUpdate = ppUpdateOptionManual
            End If
        Next
    Next
End Sub
Je te remercie encore une fois pour ton aide.
toma65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 17h54   #18
Modératrice
 
Avatar de annedeblois
 
Femme Anne DeBlois
Analyste informatique
Inscription : août 2005
Messages : 1 406
Détails du profil
Informations personnelles :
Nom : Femme Anne DeBlois
Âge : 37
Localisation : Canada

Informations professionnelles :
Activité : Analyste informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 406
Points : 1 653
Points : 1 653
Envoyer un message via MSN à annedeblois
Tout le plaisir est our moi
__________________
Anne, citoyenne canadienne
Modératrice Windows, Hardware, Office et Autres logiciels
Informaticienne, altiste et radioamateur... bref, originale
Les règles... | Note: Je ne réponds à aucune question technique posée par MP
annedeblois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2007, 15h32   #19
Invité régulier
 
Inscription : mai 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 34
Points : 6
Points : 6
Bonjour,

J'ai encore un soucis avec ces liaisons
Maintenant quand je fais tourner mon code au complet, il m'execute bien mon programme mais j'ai mis du code pour fermer excel et le probleme c'est que cette boucle me relance le message voulez vous activer les macros je clique pour dire oui mais il me le relance encore et encore
Alors la question que je me pose, y'aurait-il un moyende stopper définitivement la boucle apres qu'elle ai fait son travail.
Je me suis réateler à l'instruction breaklink, mais je n'ai vu d'exemple que pour stopper des liaisons excel et pas des objets avec liaisons comme dans ce cas.
toma65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h56.


 
 
 
 
Partenaires

Hébergement Web