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

Probleme positionnement image dans boucle

7 réponses
Avatar
Alex
Bonsoir =E0 tous,

J'ai tent=E9 de faire une boucle, afin d'afficher dans toutes les
cellules une photo. Le nom de la photo est inscrit dans chaque cellule
de la colonne F.

Ma boucle fonctionne bien, elle ouvre bien toutes mes images, mais
dans la m=EAme cellule en F2 ?

Ma macro :

Dim i As Long
i =3D ActiveCell.Row
Dim nbligne As Long

nbligne =3D Range("F2").CurrentRegion.Rows.Count

For i =3D nbligne To 2 Step -1
Set monimage =3D ActiveSheet.Pictures.Insert("C:\Documents and Settings
\PC de Alex\Mes documents\Mes images\ALEXANDRE\" & Range("F" &
i).Value & ".jpg")
monimage.Height =3D ActiveCell.Height
monimage.Width =3D ActiveCell.Width

Next i

End Sub

Comment dois je faire pour qu'il me mette la photo sur la ligne
correspondant au nom ?

Je vous remercie par avance de vos r=E9ponses

Cordialement.
Alex

7 réponses

Avatar
Modeste
Bonsour® Alex avec ferveur ;o))) vous nous disiez :

Ma boucle fonctionne bien, elle ouvre bien toutes mes images, mais
dans la même cellule en F2 ?

Ma macro :

Dim i As Long
i = ActiveCell.Row
Dim nbligne As Long

nbligne = Range("F2").CurrentRegion.Rows.Count

For i = nbligne To 2 Step -1
Set monimage = ActiveSheet.Pictures.Insert("C:Documents and Settings
PC de AlexMes documentsMes imagesALEXANDRE" & Range("F" &
i).Value & ".jpg")
monimage.Height = Cells(i,6).Height '<==========
monimage.Width = Cells(i,6).Width '<==========

Next i

End Sub


Avatar
Daniel.C
Bonjour.
Il m'a semblé qu'il fallait mettre i+1 au lieu de i, c'est à toi de
voir :
For i = nbligne To 2 Step -1
Set monimage = ActiveSheet.Pictures.Insert("C:Documents and
SettingsPC de AlexMes documentsMes imagesALEXANDRE" & Range("F" &
i + 1).Value & ".jpg")
monimage.Top = Cells(i + 1, 7).Top
monimage.Left = Cells(i + 1, 7).Left
monimage.Height = ActiveCell.Height
monimage.Width = ActiveCell.Width

Next i

Cordialement.
Daniel

Bonsoir à tous,

J'ai tenté de faire une boucle, afin d'afficher dans toutes les
cellules une photo. Le nom de la photo est inscrit dans chaque cellule
de la colonne F.

Ma boucle fonctionne bien, elle ouvre bien toutes mes images, mais
dans la même cellule en F2 ?

Ma macro :

Dim i As Long
i = ActiveCell.Row
Dim nbligne As Long

nbligne = Range("F2").CurrentRegion.Rows.Count

For i = nbligne To 2 Step -1
Set monimage = ActiveSheet.Pictures.Insert("C:Documents and Settings
PC de AlexMes documentsMes imagesALEXANDRE" & Range("F" &
i).Value & ".jpg")
monimage.Height = ActiveCell.Height
monimage.Width = ActiveCell.Width

Next i

End Sub

Comment dois je faire pour qu'il me mette la photo sur la ligne
correspondant au nom ?

Je vous remercie par avance de vos réponses

Cordialement.
Alex


Avatar
Alex
On 10 déc, 11:30, Daniel.C wrote:
Bonjour.
Il m'a semblé qu'il fallait mettre i+1 au lieu de i, c'est à toi de
voir :
For i = nbligne To 2 Step -1
Set monimage = ActiveSheet.Pictures.Insert("C:Documents and
SettingsPC de AlexMes documentsMes imagesALEXANDRE" & Range("F" &
i + 1).Value & ".jpg")
monimage.Top = Cells(i + 1, 7).Top
monimage.Left = Cells(i + 1, 7).Left
monimage.Height = ActiveCell.Height
monimage.Width = ActiveCell.Width

Next i

Cordialement.
Daniel



> Bonsoir à tous,

> J'ai tenté de faire une boucle, afin d'afficher dans toutes les
> cellules une photo. Le nom de la photo est inscrit dans chaque cellule
> de la colonne F.

> Ma boucle fonctionne bien, elle ouvre bien toutes mes images, mais
> dans la même cellule en F2 ?

> Ma macro :

> Dim i As Long
> i = ActiveCell.Row
> Dim nbligne As Long

> nbligne = Range("F2").CurrentRegion.Rows.Count

> For i = nbligne To 2 Step -1
> Set monimage = ActiveSheet.Pictures.Insert("C:Documents and Settings
> PC de AlexMes documentsMes imagesALEXANDRE" & Range("F" &
> i).Value & ".jpg")
> monimage.Height = ActiveCell.Height
> monimage.Width = ActiveCell.Width

> Next i

> End Sub

> Comment dois je faire pour qu'il me mette la photo sur la ligne
> correspondant au nom ?

> Je vous remercie par avance de vos réponses

> Cordialement.
> Alex- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonsoir Daniel,

Merci de ta réponse.
J'ai malgré modifié ta ligne de commande monimage.Top = Cells(i + 1,
7).Top

J'ai du supprimer le "+1", pour que les images se mettent bien sur la
bonne ligne sinon j'avais un décallage image de 1 ligne. et bien
conserver le +1 sur ta seconde ligne de commande ( monimage.Left =
Cells(i + 1, 7).Left )

Peux tu me confirmer que Top veut bien le haut de la cellule et left
la marge gauche de la cellule ?. Et pourquoi +1 que sur une ligne
j'arrive pas à bien l'interpreter.

En tout cas un grand merci.
Cordialement.
Alex
Avatar
Alex
On 10 déc, 11:30, Daniel.C wrote:
Bonjour.
Il m'a semblé qu'il fallait mettre i+1 au lieu de i, c'est à toi de
voir :
For i = nbligne To 2 Step -1
Set monimage = ActiveSheet.Pictures.Insert("C:Documents and
SettingsPC de AlexMes documentsMes imagesALEXANDRE" & Range("F" &
i + 1).Value & ".jpg")
monimage.Top = Cells(i + 1, 7).Top
monimage.Left = Cells(i + 1, 7).Left
monimage.Height = ActiveCell.Height
monimage.Width = ActiveCell.Width

Next i

Cordialement.
Daniel



> Bonsoir à tous,

> J'ai tenté de faire une boucle, afin d'afficher dans toutes les
> cellules une photo. Le nom de la photo est inscrit dans chaque cellule
> de la colonne F.

> Ma boucle fonctionne bien, elle ouvre bien toutes mes images, mais
> dans la même cellule en F2 ?

> Ma macro :

> Dim i As Long
> i = ActiveCell.Row
> Dim nbligne As Long

> nbligne = Range("F2").CurrentRegion.Rows.Count

> For i = nbligne To 2 Step -1
> Set monimage = ActiveSheet.Pictures.Insert("C:Documents and Settings
> PC de AlexMes documentsMes imagesALEXANDRE" & Range("F" &
> i).Value & ".jpg")
> monimage.Height = ActiveCell.Height
> monimage.Width = ActiveCell.Width

> Next i

> End Sub

> Comment dois je faire pour qu'il me mette la photo sur la ligne
> correspondant au nom ?

> Je vous remercie par avance de vos réponses

> Cordialement.
> Alex- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Re Bonsoir,

Encore un point. Quelle ligne faut il ajouter pour me masquer la photo
quand je masque la ligne ou la colonne.
Merci d'avance de vos réponses.
Alex
Avatar
isabelle
bonjour Alex,

For i = nbligne To 2 Step -1
Set monimage = ActiveSheet.Pictures.Insert("C:Documents and SettingsPC
de AlexMes documentsMes imagesALEXANDRE" & Range("F" & i + 1).Value
& ".jpg")
With monimage
.Placement = xlMoveAndSize '<----- permet de masquer l'image
avec la ligne
.PrintObject = True
.Locked = False
With .ShapeRange
.LockAspectRatio = msoFalse
.Top = Cells(i, 7).Top
.Left = Cells(i, 7).Left
.Width = Cells(i, 7).Width
.Height = Cells(i, 7).Height
End With
End With
Next i
End Sub

isabelle

Alex a écrit :
Re Bonsoir,

Encore un point. Quelle ligne faut il ajouter pour me masquer la photo
quand je masque la ligne ou la colonne.
Merci d'avance de vos réponses.
Alex



Avatar
Daniel.C
> On 10 déc, 11:30, Daniel.C wrote:
Bonjour.
Il m'a semblé qu'il fallait mettre i+1 au lieu de i, c'est à toi de
voir :
For i = nbligne To 2 Step -1
Set monimage = ActiveSheet.Pictures.Insert("C:Documents and
SettingsPC de AlexMes documentsMes imagesALEXANDRE" & Range("F" &
i + 1).Value & ".jpg")
monimage.Top = Cells(i + 1, 7).Top
monimage.Left = Cells(i + 1, 7).Left
monimage.Height = ActiveCell.Height
monimage.Width = ActiveCell.Width

Next i

Cordialement.
Daniel



Bonsoir à tous,



J'ai tenté de faire une boucle, afin d'afficher dans toutes les
cellules une photo. Le nom de la photo est inscrit dans chaque cellule
de la colonne F.



Ma boucle fonctionne bien, elle ouvre bien toutes mes images, mais
dans la même cellule en F2 ?



Ma macro :



Dim i As Long
i = ActiveCell.Row
Dim nbligne As Long



nbligne = Range("F2").CurrentRegion.Rows.Count
For i = nbligne To 2 Step -1
Set monimage = ActiveSheet.Pictures.Insert("C:Documents and Settings
PC de AlexMes documentsMes imagesALEXANDRE" & Range("F" &
i).Value & ".jpg")
monimage.Height = ActiveCell.Height
monimage.Width = ActiveCell.Width



Next i



End Sub



Comment dois je faire pour qu'il me mette la photo sur la ligne
correspondant au nom ?



Je vous remercie par avance de vos réponses
Cordialement.
Alex- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -



Bonsoir Daniel,

Merci de ta réponse.
J'ai malgré modifié ta ligne de commande monimage.Top = Cells(i + 1,
7).Top

J'ai du supprimer le "+1", pour que les images se mettent bien sur la
bonne ligne sinon j'avais un décallage image de 1 ligne. et bien
conserver le +1 sur ta seconde ligne de commande ( monimage.Left > Cells(i + 1, 7).Left )

Peux tu me confirmer que Top veut bien le haut de la cellule et left
la marge gauche de la cellule ?. Et pourquoi +1 que sur une ligne
j'arrive pas à bien l'interpreter.

En tout cas un grand merci.
Cordialement.
Alex


Cells(...).Top ou Range("xx").Top veut bien dire "haut de la cellule
depuis le haut de la fenêtre" et Left, dans le même contexte veut bien
dire "position depuis la gauche de la fenêtre du bord gauche de la
cellule". J'ai mis "+1", et je l'ai testé parce que tu mesures
"nbligne" depuis F2, donc il te manque la première ligne; par exemple,
si ta dernière cellule est F6, nbligne est égal à 5 (de F2 à F6).
Daniel
Avatar
isabelle
correction
il faut enlever le + 1 de la ligne Set monimage =...
isabelle

isabelle a écrit :
bonjour Alex,

For i = nbligne To 2 Step -1
Set monimage = ActiveSheet.Pictures.Insert("C:Documents and
SettingsPC de AlexMes documentsMes imagesALEXANDRE" & Range("F" &
i + 1).Value & ".jpg")
With monimage
.Placement = xlMoveAndSize '<----- permet de masquer l'image
avec la ligne
.PrintObject = True
.Locked = False
With .ShapeRange
.LockAspectRatio = msoFalse
.Top = Cells(i, 7).Top
.Left = Cells(i, 7).Left
.Width = Cells(i, 7).Width
.Height = Cells(i, 7).Height
End With
End With
Next i
End Sub

isabelle

Alex a écrit :
Re Bonsoir,

Encore un point. Quelle ligne faut il ajouter pour me masquer la photo
quand je masque la ligne ou la colonne.
Merci d'avance de vos réponses.
Alex