Bonjour,
Super merci pour toutes les infos.
Encore une question, comment compter le nombre de retour à la ligne dans le textbox ?
Ainsi je pourrai renseigner ma variable Nbre_de_retour_ligne actuellemnet à 5.
Merci et bonne soirée
Philippe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Sub Inserer_photo_travaux() Dim Position As Range Dim Img As Object Dim ShapeObj As Shape Dim Image As Object Dim Largeur_Image_Originale As Variant Dim Hauteur_Image_Originale As Variant Dim Ratio_Image_Originale As Variant Dim Largeur_Image_Excel As Variant Dim Hauteur_Image_Excel As Variant Dim Nbre_de_retour_ligne As Variant Dim Hauteur_texte As Variant 'Supprimer la photo existante For Each Image In ActiveSheet.Shapes If Not Intersect(Image.TopLeftCell, ActiveCell) Is Nothing Then Image.Delete Next Image 'Attacher la nouvelle photo If Application.Dialogs(xlDialogInsertPicture).Show Then 'Ouvrir l'explorateur de fichier Set Position = ActiveCell 'Définit l'emplacement de l'image Set Img = ActiveSheet.DrawingObjects(ActiveSheet.Shapes.Count) Largeur_Image_Originale = Img.Width Hauteur_Image_Originale = Img.Height Ratio_Image_Originale = Largeur_Image_Originale / Hauteur_Image_Originale Largeur_Image_Excel = 250 Hauteur_Image_Excel = Largeur_Image_Excel / Ratio_Image_Originale Nbre_de_retour_ligne = 5 Hauteur_texte = Nbre_de_retour_ligne * 15 '15 = Hauteur de cellule pour une ligne With Img.ShapeRange .LockAspectRatio = msoTrue 'Conserver le ratio de la photo .Width = Largeur_Image_Excel 'Largeur de l'image .Top = Position.Top + Hauteur_texte 'Si pas de chiffre = l'image sera aux mêmes dimensions que la cellule .Left = Position.Left + 8 'Si pas de chiffre = l'image sera aux mêmes dimensions que la cellule End With With ActiveCell .RowHeight = Hauteur_Image_Excel + Hauteur_texte End With Img.Placement = xlMoveAndSize 'Déplacer et dimensionner avec les cellules 'IMPORTANT Ne pas sélectionner une autre cellule pour la suite de la macro Else MsgBox _ "L'image n'a pas été remplacée.", vbInformation, "! Oups ! Action interrompue" End If End Sub
Partager