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 :)
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,
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?