Centrage de la photo dans la cellule

Résolu
did -  
 did -
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
Configuration: Windows Vista Internet Explorer 7.0

3 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    1. did
       
      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
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    1. did
       
      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
  3. Doudou95 Messages postés 1897 Date d'inscription   Statut Membre Dernière intervention   275
     
    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