Positions shapes
Le
JP

Bonjour,
Comment amener un peu de précision dans la position d'un shape?
Je place un shape avec des coordonnées de cellules avec ce code:
Sheets("feuil1").Activate
' Affiche les shapes si il y a des valeurs dans la colonne A
For Each cell In Sheets("feuil1").Range("A11:A100")
If cell <> "" Then
Sheets("feuil1").Shapes("imgCCF").Select
Selection.Copy
cell.Offset(, 3).Select
Sheets("feuil1").Paste
End If
Next
Je voudrais le centrer sur la taille de la cellule (hauteur).
Que faut-il ajouter?
J'ai fait un petit exemple de la partie qui intéresse.
http://cjoint.com/?DEBs4ytvLWt
Merci
JP
Comment amener un peu de précision dans la position d'un shape?
Je place un shape avec des coordonnées de cellules avec ce code:
Sheets("feuil1").Activate
' Affiche les shapes si il y a des valeurs dans la colonne A
For Each cell In Sheets("feuil1").Range("A11:A100")
If cell <> "" Then
Sheets("feuil1").Shapes("imgCCF").Select
Selection.Copy
cell.Offset(, 3).Select
Sheets("feuil1").Paste
End If
Next
Je voudrais le centrer sur la taille de la cellule (hauteur).
Que faut-il ajouter?
J'ai fait un petit exemple de la partie qui intéresse.
http://cjoint.com/?DEBs4ytvLWt
Merci
JP
juste apres la ligne:
Sheets("feuil1").Paste
tu pourrais ajouter:
With Selection
.Left = cell.Offset(, 3).Left
.Top = cell.Offset(, 3).Top
.Width = cell.Offset(, 3).Width
.Height = cell.Offset(, 3).Height
End With
isabelle
Le 2014-05-27 12:57, JP a écrit :
With Selection
.Left = cell.Offset(, 3).Left
.Top = cell.Offset(, 3).Top
.Width = cell.Offset(, 6).Left - cell.Offset(, 3).Left
.Height = cell.Offset(, 3).Height
End With
isabelle
Le 2014-05-27 15:10, isabelle a écrit :
Déjà, merci pour ta réponse. Je viens de tester, outre le fait que je ne veux pas redimensionner le shape en hauteur, tout se passe bien.
J'ai juste ajouter une valeur + 10 au top pour centrer sur la hauteur de la cellule.
Si la hauteur de cellule varie, ça ne sera plus le top du top si je peux me permettre ce trait d'humour.
Voici ce que j'ai maintenant:
With Selection
.Left = cell.Offset(, 3).Left
.Top = cell.Offset(, 3).Top + 10
.Width = cell.Offset(, 6).Left - cell.Offset(, 3).Left
' .Height = cell.Offset(, 3).Height
End With
JP