Je rencontre un probl=E8me sur le centrage d'e shapes dans une cellule,
et m'en explique. Dans une boucle, en fonction du r=E9sultat obtenu dans
ma 122=E8me colonne de mon onglet Base, je copie le shapes de l'onglet
"Smileys" correspondant =E0 la note, et reviens sur l'onglet Base pour
coller le shapes correspondant dans la cellule de la colonne 117,
jusque l=E0 aucun souci. Mais je n'arrive pas =E0 centrer le shapes dans
la cellule ou j'ai coller l'image copier, voici ce que j'ai =E9crit :
nbligne =3D Range("C2").CurrentRegion.Rows.Count
For i =3D nbligne To 2 Step -1
If Cells(i, 122).Value < 0 Then
With ActiveSheet.Shapes("Image 1")
.Left =3D Selection.Left + (Selection.Width - .Width) / 2
.Top =3D Selection.Top + (Selection.Height - .Height) / 2
.Placement =3D xlMoveAndSize
End With
End If
Next i
Quelqu'un aurait-il solution pour r=E9soudre ce probl=E8me.
Merci par avance de votre aide.
Cordialement.
Alex
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jex
On 21 juin, 11:26, Alex wrote:
Bonjour à tous,
Je rencontre un problème sur le centrage d'e shapes dans une cellule, et m'en explique. Dans une boucle, en fonction du résultat obtenu dans ma 122ème colonne de mon onglet Base, je copie le shapes de l'onglet "Smileys" correspondant à la note, et reviens sur l'onglet Base pour coller le shapes correspondant dans la cellule de la colonne 117, jusque là aucun souci. Mais je n'arrive pas à centrer le shapes dans la cellule ou j'ai coller l'image copier, voici ce que j'ai écrit :
nbligne = Range("C2").CurrentRegion.Rows.Count For i = nbligne To 2 Step -1 If Cells(i, 122).Value < 0 Then
With ActiveSheet.Shapes("Image 1") .Left = Selection.Left + (Selection.Width - .Width) / 2 .Top = Selection.Top + (Selection.Height - .Height) / 2 .Placement = xlMoveAndSize End With End If Next i
Quelqu'un aurait-il solution pour résoudre ce problème. Merci par avance de votre aide. Cordialement. Alex
Bonjour Alex,
ton code fonctionne très bien à condition que ta cellule où tu copies le shape soit sélectionnée. Ce qui n'est pas le cas ici. A la place de selection, mets Sheets("BASE").Cells(i, 117). Pour alléger le code tu peux mettre cette cellule dans une variable avec la définition en début de procédure : dim rngDest as range et son affectation avant de PasteSpecial : set rngDest = Sheets("BASE").Cells(i, 117) puis son utilisation : With ActiveSheet.Shapes("Image 1") .Left = rngDest .Left + (rngDest .Width - .Width) / 2 .Top = rngDest .Top + (rngDest .Height - .Height) / 2 .Placement = xlMoveAndSize End With
D'une manière générales, il faut éviter d'utiliser l'objet selectio n et lui préférer une variable ou un nommage direct de cellule.
J'espère que ça marche. J
On 21 juin, 11:26, Alex <ale...@orange.fr> wrote:
Bonjour à tous,
Je rencontre un problème sur le centrage d'e shapes dans une cellule,
et m'en explique. Dans une boucle, en fonction du résultat obtenu dans
ma 122ème colonne de mon onglet Base, je copie le shapes de l'onglet
"Smileys" correspondant à la note, et reviens sur l'onglet Base pour
coller le shapes correspondant dans la cellule de la colonne 117,
jusque là aucun souci. Mais je n'arrive pas à centrer le shapes dans
la cellule ou j'ai coller l'image copier, voici ce que j'ai écrit :
nbligne = Range("C2").CurrentRegion.Rows.Count
For i = nbligne To 2 Step -1
If Cells(i, 122).Value < 0 Then
With ActiveSheet.Shapes("Image 1")
.Left = Selection.Left + (Selection.Width - .Width) / 2
.Top = Selection.Top + (Selection.Height - .Height) / 2
.Placement = xlMoveAndSize
End With
End If
Next i
Quelqu'un aurait-il solution pour résoudre ce problème.
Merci par avance de votre aide.
Cordialement.
Alex
Bonjour Alex,
ton code fonctionne très bien à condition que ta cellule où tu copies
le shape soit sélectionnée. Ce qui n'est pas le cas ici. A la place de
selection, mets Sheets("BASE").Cells(i, 117).
Pour alléger le code tu peux mettre cette cellule dans une variable
avec la définition en début de procédure :
dim rngDest as range
et son affectation avant de PasteSpecial :
set rngDest = Sheets("BASE").Cells(i, 117)
puis son utilisation :
With ActiveSheet.Shapes("Image 1")
.Left = rngDest .Left + (rngDest .Width - .Width) / 2
.Top = rngDest .Top + (rngDest .Height - .Height) / 2
.Placement = xlMoveAndSize
End With
D'une manière générales, il faut éviter d'utiliser l'objet selectio n
et lui préférer une variable ou un nommage direct de cellule.
Je rencontre un problème sur le centrage d'e shapes dans une cellule, et m'en explique. Dans une boucle, en fonction du résultat obtenu dans ma 122ème colonne de mon onglet Base, je copie le shapes de l'onglet "Smileys" correspondant à la note, et reviens sur l'onglet Base pour coller le shapes correspondant dans la cellule de la colonne 117, jusque là aucun souci. Mais je n'arrive pas à centrer le shapes dans la cellule ou j'ai coller l'image copier, voici ce que j'ai écrit :
nbligne = Range("C2").CurrentRegion.Rows.Count For i = nbligne To 2 Step -1 If Cells(i, 122).Value < 0 Then
With ActiveSheet.Shapes("Image 1") .Left = Selection.Left + (Selection.Width - .Width) / 2 .Top = Selection.Top + (Selection.Height - .Height) / 2 .Placement = xlMoveAndSize End With End If Next i
Quelqu'un aurait-il solution pour résoudre ce problème. Merci par avance de votre aide. Cordialement. Alex
Bonjour Alex,
ton code fonctionne très bien à condition que ta cellule où tu copies le shape soit sélectionnée. Ce qui n'est pas le cas ici. A la place de selection, mets Sheets("BASE").Cells(i, 117). Pour alléger le code tu peux mettre cette cellule dans une variable avec la définition en début de procédure : dim rngDest as range et son affectation avant de PasteSpecial : set rngDest = Sheets("BASE").Cells(i, 117) puis son utilisation : With ActiveSheet.Shapes("Image 1") .Left = rngDest .Left + (rngDest .Width - .Width) / 2 .Top = rngDest .Top + (rngDest .Height - .Height) / 2 .Placement = xlMoveAndSize End With
D'une manière générales, il faut éviter d'utiliser l'objet selectio n et lui préférer une variable ou un nommage direct de cellule.
J'espère que ça marche. J
Alex
Bonjour Jex,
Merci pour ta réponse, je vais tester cela. Cordialement. Alex
Bonjour Jex,
Merci pour ta réponse, je vais tester cela.
Cordialement.
Alex