Bonjour, j'ai essayé de faire une macro qui ferait la chose suivante :
-> sélection dans la diapo active de la forme la plus en arrière plan
-> Sélection dans cette même diapositive de la forme au premier plan
--> NB : sur ma diapo active, il n'y a que deux formes qui se superposent en partie.
-> faire une fusions de type "intersect merge"
L'objectif est de créer une macro qui sélectionnerait le deux formes et qui les fusionneraient.
-> mon code ne fonctionne pas, et je 'n arrive pas a trouver la cause.
"Erreur de compilation /membre de méthode ou de compilation introuvable"
Pouvez-vous svp m'aider à corriger le code
ou me proposer une solution pour que je puisse fusionner deux forme à partir des deux formes sélectionnées
(comme si je cliquait sur le bouton déjà présent d le ruban, de pouvoir le mettre dans mon userbox) ?
Cordialement
Fabien
-------
Sub SelectPhotoCadreDiapoActive()
Dim shape As shape
Dim MinZorder As Integer
Dim MaxZorder As Integer
Dim BackShape As shape
Dim FrontShape As shape
MinZorder = ActiveWindow.View.Slide.Shapes.Count
MaxZorder = 0
' Boucle à travers chaque forme de la diapositive active
For Each shape In ActiveWindow.View.Slide.Shapes
' Trouve la forme avec la position ZOrder la plus basse (arrière-plan)
If shape.ZOrderPosition < MinZorder Then
MinZorder = shape.ZOrderPosition
Set BackShape = shape
End If
' Trouve la forme avec la position ZOrder la plus élevée (premier plan)
If shape.ZOrderPosition > MaxZorder Then
MaxZorder = shape.ZOrderPosition
Set FrontShape = shape
End If
Next shape
' Sélectionne la forme en arrière-plan
If Not BackShape Is Nothing Then
BackShape.Select
End If
' Ajoute la forme au premier plan à la sélection
If Not FrontShape Is Nothing Then
FrontShape.Select (msoFalse)
Call FindIntersect
End Sub
et la fonction Intersect :
Function FindIntersect(Range1, Range2)
FindIntersect = Application.Intersect(Range1, Range2)
End Function
End If
Partager