Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Positions shapes

3 réponses
Avatar
JP
Bonjour,

Comment amener un peu de pr=E9cision dans la position d'un shape?


Je place un shape avec des coordonn=E9es 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=E9resse.
http://cjoint.com/?DEBs4ytvLWt

Merci=20

JP

3 réponses

Avatar
isabelle
bonjour 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 :
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

Avatar
isabelle
ou bien,

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 :
bonjour 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 :
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

Avatar
JP
Bonjour Isabelle,


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