POWERPOINT diapo non active

j'en peux plus lol, j'arrive à rappatrier mais ça change la forme des diapo 2 et 3...

je reprends demain ...

Sub testdeplacementep()

    Dim Interf As String
    Dim Ppt As Presentation
    Dim Diapositive As Long 'créer une variable pour stocker la diapositive à copier

ChoixGeneral:
    Interf = InputBox("De quel type est l'Interfrontière ?" & vbCrLf & "IF1 / IF3 / Dd21 / Dd43 / D21 /D43")
    If Interf = "" Then Exit Sub ' Sortir de la fonction si l'utilisateur clique sur "Annuler"
    If Not (Interf = "IF1" Or Interf = "IF3") Then
        MsgBox ("Erreur de saisie")
        GoTo ChoixGeneral
    End If

     ' copier la diapositive souhaitée en fonction de la saisie de l'utilisateur
    Set Ppt = ActivePresentation
    If Interf = "IF1" Then
            Diapositive = 2        'copier la diapositive 2

    ElseIf Interf = "IF3" Then
            Diapositive = 3         'copier la diapositive 3
    End If

    ' Coller la diapositive copiée dans la première diapositive sans supprimer le contenu existant
    With Ppt
        .Slides(Diapositive).Shapes("Group3").Copy
        .Slides(1).Shapes.Paste
    End With

    Dim shpGroup3 As Shape
    Dim shpLine4 As Shape

    Set shpGroup3 = ActivePresentation.Slides(1).Shapes("Group3")
    Set shpLine4 = shpGroup3.GroupItems("Line 400")

    ' Enregistrer les coordonnées actuelles du groupe3
    Dim curTop As Double, curLeft As Double
    curTop = shpGroup3.Top
    curLeft = shpGroup3.Left

    ' Déplacer le Line 400 à la nouvelle position
    shpLine4.Top = 200
    shpLine4.Left = 200

    ' Redéfinir la position du groupe3 en fonction de la position actuelle et la position du Line 400
    shpGroup3.Top = shpLine4.Top - shpGroup3.Height
    shpGroup3.Left = shpLine4.Left

    ' Remettre le groupe3 à sa position initiale
    shpGroup3.Top = curTop
    shpGroup3.Left = curLeft

End Sub

Bonjour,

La ligne que vous voulez déplacé fait partie d'un groupe et à ce titre, elle ne pas peut être sortie de son groupe. Si vous voulez la déplacer dans la diapo, il faut lui attribuer son propre groupe, et faire la même chose pour chaque élément que souhaitez disposer individuellement. En clair, il faut un élément par groupe.

Cdlt

Bonjour, merci pour votre temps, en faite je veux que la ligne reste figer par rapport au groupe et dans le groupe, j'ai mis une image pour expliquer mon propos,

dans la diapo 1 la ligne doit être aligné avec la Line400 de la diapo2 et 3, sauf que comme elle n'ont pas la même position dans le Group3 c'est impossible en automatique.

Je cherche donc le code qui positionne en fonction de la Line400 et non en fonction du groupe pour avoir un parfait alignement.

merci d'avance :)

explication alignement

Bonjour,

Je crois avoir bien compris ce que vous voulez faire, mais pour déplacer une ligne seule, à mon sens, il faut qu'elle soit isolée du groupe, et qu'elle appartienne à son propre groupe (et qu'elle soit seule dans ce groupe).

Là, actuellement elle est incluse dans le groupe 2, elle ne pourra jamais quitter ce groupe seule sans entraîner tout le groupe, il faut donc la supprimer du groupe2 et créer un autre groupe où elle sera seule à l'intérieur de ce groupe. Il suffira par la suite d'assembler les groupes pour reformer le schéma.

En clair, tout élément individuel actuellement dans un groupe et pouvant être déplacé hors du groupe, doit être isolé dans un groupe dédié.

Cdlt

Bonjour,

tout le groupe doit bouger :)

choix diapo 2

et choix diapo 3

choix diapo 3

Bonjour,

Je ne sais pas plus, la seule chose que je ferai, (je l'ai déjà écrit auparavant), exemple,

On sélectionne la diapo2, on fait une copie du groupe, et on le colle dans la diapo1, on ajuste l'image pour obtenir le bon alignement, puis on refait une copie de ce groupe avec sa nouvelle position qu'on vient recoller dans la diapo 2(après avoir supprimer le groupe existant), mais, j'ai bien peur que cela ne corresponde pas à vos attentes puisqu'il faut pouvoir déplacer ces groupes en fonction des sélections qui auront été demandées, A moins de faire plusieurs diapos avec toutes les positions possibles, mais c'est pas génial.

Mes compétences en VBA PowerPoint sont insuffisantes pour pouvoir vous aider davantage, je suis sincèrement désolé. En espérant que vous puissiez trouver la solution qui vous convienne.

Cdlt

merci beaucoup Arturo, avec ce fichier on gagne énormément de temps, il resterait à décaler dans le cas ou il n'y aurait qu'un départ EP, et encore en laissant la barre horizontale en dessous l'inter frontière le décalage ne se voit aps et le résultat est top.

je vais le proposer à mes collègues et j'attends les retours :)

en même tems que l'on fait ce schéma on fait un rapport qui reprends les données du schéma.

je me suis lancé dans une extraction de données du rapport excel, un fois que j'ai ces données je vais essayer de créer le schéma automatiquement.

ça nous ferait gagner du temps :D

merci encore !!!

A oui dernière question, je n'arrive pas à créer un bouton pour lancer automatiquement la macro ...

je vais dans l'onglet insertion, puis je vais dans forme, puis en bas bouton d'action, dans l'option en cas de click je choisi la macro mais ça ne fonctionne pas...

tu arrives à insérer des boutons comme dans Excell pour PowerPoint 2007?

Bonjour,

Pour ajouter un bouton, faire ceci:

  1. Cliquez sur Fichier > Options > Barre d'outils Accès rapide.
  2. Dans la liste Choisir les commandes, cliquez sur Macros.
  3. Sélectionnez la macro à qui vous voulez affecter un bouton.

Le bouton sera placé ici (dans la barre d'accès rapide)

ben83130

Cdlt

Rechercher des sujets similaires à "powerpoint diapo active"