Centrage de la photo dans la cellule

Résolu/Fermé
did - 20 janv. 2010 à 21:50
 did - 21 janv. 2010 à 21:35
Bonjour,
je touille depuis des lustres.
grace a toutes ces info j'ai pu bien avancer
je cherche simplement maintenant a centrer les photo dans la colonne A.
je suis parvenu a insérer les photo dans la colonne A, je voudrais que toutes ces photos soient centrées par rapport a un medien vertical.
merci pour l'aide!!
did
A voir également:

3 réponses

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
21 janv. 2010 à 19:56
Re,

Quand tu récupère un code c'est de bon goût de mettre un lien vers la source où tu l'as trouvé. Ca tombe bien, c'est moi qui l'ai fait...
Au début c'est prévu pour insérer des images dont on indique le chemin dans une cellule, pas des images déjà insérées. Et elles sont redimensionnées à la taille de la cellule, toutes ayant une hauteur fixée.

Si tes images sont déjà insérées pas besoin de tout ça, précise le contexte.
Sinon essaie en remplaçant:
.Left = c.Offset(0, r).Left + 2
par:
.Left = c.Offset(0, r).Left + ( c.Offset(0, r).width - .width)/2

(pas testé car j'ai faim...)

eric
1
bsr Eric;

désolé pour ne pas avoir mis la source ou lien.
je dois t'avouer que c'est la 1er fois que je rentre sur un forum.
la formule que tu m'as comminiqué fonctionne bien.

je te remercie beaucoup pour ton aide
did
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
20 janv. 2010 à 22:33
Bonsoir,

En vba ?
Sers toi des propriétés .width de la cellule et de l'image.
Tu divises par 2 la différence pour décaler ton image

eric
0
Bje eriiic ;

Merci de ta rep
Je ne suis pas un pro de VBA
Je me suis contenté de recopier ces qq lign de code dans une macro sans vraiment capable de comprendre toutes la synthaxe.
Je met ci-dessous les de celle-ci, si tu pouvais m’indiquer plus précisément les modif a apporter
Avec un grand merci
Did

Sub AffImage2()
' Sélectionner les cellules contenant un lien vers une image
' AffImage les affichera sur le lien ou dans la colonne de gauche ou de droite
Const hDefaut = 75
Dim msg As String, r As Long, h As Long
Dim c As Range
msg = "Oui : Afficher les images à gauche des liens sélectionnés" & vbCrLf
msg = msg & "Non : Afficher les images sur les liens sélectionnés" & vbCrLf
msg = msg & "Annuler : Afficher les images à droite des liens sélectionnés"
r = MsgBox(msg, vbYesNoCancel, "Cellules où mettre les images")
If r = vbYes Then
r = -1
ElseIf r = vbNo Then
r = 0
Else
r = 1
End If
h = InputBox("Hauteur des lignes :", "Choix hauteur", hDefaut)
For Each c In Selection
'c.ColumnWidth = 4
fich = c.Value
If fich <> "" Then
c.RowHeight = h 'fixer la hauteur de ligne
ActiveSheet.Pictures.Insert(fich).Select 'ouverture image
With Selection.ShapeRange
.LockAspectRatio = msoTrue 'conserver les proportion
.Height = h - 4 'hauteur de l'image = hauteur des lignes - 4
.Left = c.Offset(0, r).Left + 2 'à gauche colonne A (sinon tu calcules avec la largeur de colonne des colonnes
.Top = c.Top + 2 'et positionner verticalement
End With
End If
Next c
End Sub

Pour info voici ce que j’obtient, j’aimrai centrer toutes les photo autout d’un axe verticale passant parle milieu de la colonne qui les reçoit (milieu de la photo la plus large.
Merci !!!!



C:\Users\dn\Desktop\Base Travail LSG\amy.JPG


C:\Users\dn\Desktop\Base Travail LSG\bidule.JPG


C:\Users\dn\Desktop\Base Travail LSG\aimé.JPG
0
Doudou95 Messages postés 1561 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 30 avril 2019 275
21 janv. 2010 à 09:32
Tu fais ça en code ou tu veux centrer à la main?
En gros, si c'est en code: enregistrer macro-> tu le fais à la main et tu récupère la partie du code qui t'intéresse dans l'éditeur VBA (ALT+F11)
0