Compter le nombre de retours à la ligne dans une textbox
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:
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 |