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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| Sub INSERTION_PHOTOS_ACTUALISATION() 'Insère une image, la positionne et met une bordure, programme OK
'l'objet InlineShape est une image alignée sur le texte, cet objet permet des bordures mais pas un positionnement devant ou derrière le texte puisqu'il est aligné
'l'objet Shape est une image dans le document, l'image ne permet pas de bordure mais permet un positionnement selon le texte
'dans notre cas nous avons besoin des deux, du coup on insère une image alignée sur le texte pour lui mettre une bordure
'puis nous la convertissons en image shape afin de la position par rapport au texte
Dim objShape As InlineShape 'image en alignée texte
Dim image As Shape 'image
Dim PhotoUne As String
Dim PhotoDeux As String
'Photo 1
' on recherche le signet dans Word pour se positionner
Selection.Goto What:=wdGoToBookmark, Name:="Sgn_P_Photo1"
Set objShape = Selection.InlineShapes.AddPicture(Filename:="K:\PHOTOS PLANS Dossiers individuels\PHOTOS et PLANS 2013 - Boîtes experts\EBOD\COSNES ET ROMAIN rue du Béarn\Photo 743.jpg")
* * With objShape 'créé des bordures
* * * * With .Borders(wdBorderTop)
* * * * * * .LineStyle = wdLineStyleSingle
* * * * * * .LineWidth = wdLineWidth150pt
* * * * * * .Color = wdColorAutomatic
* * * * * * .Color = -570359809
* * * * End With
* * End With
*
Set image = objShape.ConvertToShape 'converti l'image
With image
.RelativeHorizontalPosition = 1 'Position de départ du décompte de centimètres 1 = début de page
.RelativeVerticalPosition = 0 'Position de départ du décompte de centimètres 0 = début de marge
'2 début colonne, 4 marge gauche, 5 marge droite
.LockAspectRatio = msoTrue
* * If .Width > .Height Then 'condition pour redimmensionner différemment les photo paysage ou portrait
* * * * .Width = 170
* * * * .Left = CentimetersToPoints(12) '12 centimètres à partir de la page utiliser InchesToPoints pour les pouces
* * * * .Top = CentimetersToPoints(2.1) '2 centimètres à partir de la marge utiliser InchesToPoints pour les pouces
* * Else
* * * * .Height = 130
* * * * .Left = CentimetersToPoints(13.3)
* * * * .Top = CentimetersToPoints(2.1)
* * End If
* *
.ZOrder msoBringInFrontOfText 'met au premier plan devant le texte
'.ZOrder msoSendBehindText 'option pour image en arrière plan derrière le texte
End With
'Photo 2
' on recherche le signet dans Word pour se positionner
Selection.Goto What:=wdGoToBookmark, Name:="Sgn_P_Photo2"
Set objShape = Selection.InlineShapes.AddPicture(Filename:="K:\PHOTOS PLANS Dossiers individuels\PHOTOS et PLANS 2013 - Boîtes experts\EBOD\COSNES ET ROMAIN rue du Béarn\Photo 737.jpg")
* * With objShape 'créé des bordures
* * * * With .Borders(wdBorderTop)
* * * * * * .LineStyle = wdLineStyleDouble
* * * * * * .LineWidth = wdLineWidth150pt
* * * * * * .Color = wdColorAutomatic
* * * * * * .Color = -570359809
* * * * End With
* * End With
*
Set image = objShape.ConvertToShape 'converti l'image
With image
.RelativeHorizontalPosition = 1 'Position de départ du décompte de centimètres 1 = début de page
.RelativeVerticalPosition = 0 'Position de départ du décompte de centimètres 0 = début de marge
'2 début colonne, 4 marge gauche, 5 marge droite
.LockAspectRatio = msoTrue
* * If .Width > .Height Then 'condition pour redimmensionner différemment les photo paysage ou portrait
* * * * .Width = 170
* * * * .Left = CentimetersToPoints(12) '12 centimètres à partir de la page utiliser InchesToPoints pour les pouces
* * * * .Top = CentimetersToPoints(8.1) '2 centimètres à partir de la marge utiliser InchesToPoints pour les pouces
* * Else
* * * * .Height = 130
* * * * .Left = CentimetersToPoints(13.3)
* * * * .Top = CentimetersToPoints(8.1)
* * End If
* *
.ZOrder msoBringInFrontOfText 'met au premier plan devant le texte
'.ZOrder msoSendBehindText 'option pour image en arrière plan derrière le texte
End With
End Sub |
Partager