Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur de
la cellule
Un clic droit sur l'image / menu contextuel / Format de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387686d$0$1040$
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur de
la cellule
Un clic droit sur l'image / menu contextuel / Format de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" <mathieu.rene@skynet.be> a écrit dans le message de news:
4387686d$0$1040$ba620e4c@news.skynet.be...
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur de
la cellule
Un clic droit sur l'image / menu contextuel / Format de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387686d$0$1040$
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur de
la cellule
Un clic droit sur l'image / menu contextuel / Format de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387686d$0$1040$
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur de
la cellule
Un clic droit sur l'image / menu contextuel / Format de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" <mathieu.rene@skynet.be> a écrit dans le message de news:
4387686d$0$1040$ba620e4c@news.skynet.be...
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur de
la cellule
Un clic droit sur l'image / menu contextuel / Format de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387686d$0$1040$
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
Bonjou René,
Est-ce que tes images à implanter sont dans le même répertoire?
Est-ce qu'il y a une façon de déterminer quelle image (son nom de fichier)
correspond à une cellule donnée ?
Si oui, il est possible de le faire par une procédure ... beaucoup plus
rapidement
que par manipulation dans la feuille de calcul !
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387724b$0$12009$
merci à michdenis pour sa réponse, je vais essayer de l'implanter mais je
cherche plutôt une solution Excel sans Visual Basic car je ne le connais
pas.
En fait j'ai +/- 300 photos a insérer dans une feuille.
un tout grand merci.
"michdenis" a écrit dans le message de news:
%23%Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur de
la cellule
Un clic droit sur l'image / menu contextuel / Format de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387686d$0$1040$
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec
les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
Bonjou René,
Est-ce que tes images à implanter sont dans le même répertoire?
Est-ce qu'il y a une façon de déterminer quelle image (son nom de fichier)
correspond à une cellule donnée ?
Si oui, il est possible de le faire par une procédure ... beaucoup plus
rapidement
que par manipulation dans la feuille de calcul !
Salutations!
"René MATHIEU" <mathieu.rene@skynet.be> a écrit dans le message de news:
4387724b$0$12009$ba620e4c@news.skynet.be...
merci à michdenis pour sa réponse, je vais essayer de l'implanter mais je
cherche plutôt une solution Excel sans Visual Basic car je ne le connais
pas.
En fait j'ai +/- 300 photos a insérer dans une feuille.
un tout grand merci.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23%23J1sof8FHA.636@TK2MSFTNGP10.phx.gbl...
Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur de
la cellule
Un clic droit sur l'image / menu contextuel / Format de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" <mathieu.rene@skynet.be> a écrit dans le message de news:
4387686d$0$1040$ba620e4c@news.skynet.be...
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec
les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
Bonjou René,
Est-ce que tes images à implanter sont dans le même répertoire?
Est-ce qu'il y a une façon de déterminer quelle image (son nom de fichier)
correspond à une cellule donnée ?
Si oui, il est possible de le faire par une procédure ... beaucoup plus
rapidement
que par manipulation dans la feuille de calcul !
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387724b$0$12009$
merci à michdenis pour sa réponse, je vais essayer de l'implanter mais je
cherche plutôt une solution Excel sans Visual Basic car je ne le connais
pas.
En fait j'ai +/- 300 photos a insérer dans une feuille.
un tout grand merci.
"michdenis" a écrit dans le message de news:
%23%Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur de
la cellule
Un clic droit sur l'image / menu contextuel / Format de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387686d$0$1040$
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec
les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
Bonjou René,
Est-ce que tes images à implanter sont dans le même répertoire?
Est-ce qu'il y a une façon de déterminer quelle image (son nom de fichier)
correspond à une cellule donnée ?
Si oui, il est possible de le faire par une procédure ... beaucoup plus
rapidement
que par manipulation dans la feuille de calcul !
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387724b$0$12009$
merci à michdenis pour sa réponse, je vais essayer de l'implanter mais je
cherche plutôt une solution Excel sans Visual Basic car je ne le connais
pas.
En fait j'ai +/- 300 photos a insérer dans une feuille.
un tout grand merci.
"michdenis" a écrit dans le message de news:
%23%Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur de
la cellule
Un clic droit sur l'image / menu contextuel / Format de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387686d$0$1040$
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec
les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
Bonjou René,
Est-ce que tes images à implanter sont dans le même répertoire?
Est-ce qu'il y a une façon de déterminer quelle image (son nom de fichier)
correspond à une cellule donnée ?
Si oui, il est possible de le faire par une procédure ... beaucoup plus
rapidement
que par manipulation dans la feuille de calcul !
Salutations!
"René MATHIEU" <mathieu.rene@skynet.be> a écrit dans le message de news:
4387724b$0$12009$ba620e4c@news.skynet.be...
merci à michdenis pour sa réponse, je vais essayer de l'implanter mais je
cherche plutôt une solution Excel sans Visual Basic car je ne le connais
pas.
En fait j'ai +/- 300 photos a insérer dans une feuille.
un tout grand merci.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23%23J1sof8FHA.636@TK2MSFTNGP10.phx.gbl...
Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur de
la cellule
Un clic droit sur l'image / menu contextuel / Format de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" <mathieu.rene@skynet.be> a écrit dans le message de news:
4387686d$0$1040$ba620e4c@news.skynet.be...
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec
les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
Bonjou René,
Est-ce que tes images à implanter sont dans le même répertoire?
Est-ce qu'il y a une façon de déterminer quelle image (son nom de fichier)
correspond à une cellule donnée ?
Si oui, il est possible de le faire par une procédure ... beaucoup plus
rapidement
que par manipulation dans la feuille de calcul !
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387724b$0$12009$
merci à michdenis pour sa réponse, je vais essayer de l'implanter mais je
cherche plutôt une solution Excel sans Visual Basic car je ne le connais
pas.
En fait j'ai +/- 300 photos a insérer dans une feuille.
un tout grand merci.
"michdenis" a écrit dans le message de news:
%23%Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur de
la cellule
Un clic droit sur l'image / menu contextuel / Format de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387686d$0$1040$
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec
les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
Bonjour René,
La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
43881e65$0$9452$
merci pour ta réponse,
oui, les photos sont dans un répertoire, se sont des yyy.jpg et chaque
photo
correspond a un nom dans une feuille Excel.
Le gros problème, c'est qu'une fois dans leur cellule, elles y restent
accrochées.
Ce qui me trouble, c'est que parfois elles s'encrent bien, parfois elles
décrochent.
"michdenis" a écrit dans le message de news:Bonjou René,
Est-ce que tes images à implanter sont dans le même répertoire?
Est-ce qu'il y a une façon de déterminer quelle image (son nom de
fichier)
correspond à une cellule donnée ?
Si oui, il est possible de le faire par une procédure ... beaucoup plus
rapidement
que par manipulation dans la feuille de calcul !
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387724b$0$12009$
merci à michdenis pour sa réponse, je vais essayer de l'implanter mais je
cherche plutôt une solution Excel sans Visual Basic car je ne le connais
pas.
En fait j'ai +/- 300 photos a insérer dans une feuille.
un tout grand merci.
"michdenis" a écrit dans le message de news:
%23%Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur
de
la cellule
Un clic droit sur l'image / menu contextuel / Format
de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387686d$0$1040$
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec
les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
Bonjour René,
La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Salutations!
"René MATHIEU" <mathieu.rene@skynet.be> a écrit dans le message de news:
43881e65$0$9452$ba620e4c@news.skynet.be...
merci pour ta réponse,
oui, les photos sont dans un répertoire, se sont des yyy.jpg et chaque
photo
correspond a un nom dans une feuille Excel.
Le gros problème, c'est qu'une fois dans leur cellule, elles y restent
accrochées.
Ce qui me trouble, c'est que parfois elles s'encrent bien, parfois elles
décrochent.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
Op1blCg8FHA.3044@TK2MSFTNGP10.phx.gbl...
Bonjou René,
Est-ce que tes images à implanter sont dans le même répertoire?
Est-ce qu'il y a une façon de déterminer quelle image (son nom de
fichier)
correspond à une cellule donnée ?
Si oui, il est possible de le faire par une procédure ... beaucoup plus
rapidement
que par manipulation dans la feuille de calcul !
Salutations!
"René MATHIEU" <mathieu.rene@skynet.be> a écrit dans le message de news:
4387724b$0$12009$ba620e4c@news.skynet.be...
merci à michdenis pour sa réponse, je vais essayer de l'implanter mais je
cherche plutôt une solution Excel sans Visual Basic car je ne le connais
pas.
En fait j'ai +/- 300 photos a insérer dans une feuille.
un tout grand merci.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23%23J1sof8FHA.636@TK2MSFTNGP10.phx.gbl...
Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur
de
la cellule
Un clic droit sur l'image / menu contextuel / Format
de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" <mathieu.rene@skynet.be> a écrit dans le message de news:
4387686d$0$1040$ba620e4c@news.skynet.be...
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec
les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
Bonjour René,
La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
43881e65$0$9452$
merci pour ta réponse,
oui, les photos sont dans un répertoire, se sont des yyy.jpg et chaque
photo
correspond a un nom dans une feuille Excel.
Le gros problème, c'est qu'une fois dans leur cellule, elles y restent
accrochées.
Ce qui me trouble, c'est que parfois elles s'encrent bien, parfois elles
décrochent.
"michdenis" a écrit dans le message de news:Bonjou René,
Est-ce que tes images à implanter sont dans le même répertoire?
Est-ce qu'il y a une façon de déterminer quelle image (son nom de
fichier)
correspond à une cellule donnée ?
Si oui, il est possible de le faire par une procédure ... beaucoup plus
rapidement
que par manipulation dans la feuille de calcul !
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387724b$0$12009$
merci à michdenis pour sa réponse, je vais essayer de l'implanter mais je
cherche plutôt une solution Excel sans Visual Basic car je ne le connais
pas.
En fait j'ai +/- 300 photos a insérer dans une feuille.
un tout grand merci.
"michdenis" a écrit dans le message de news:
%23%Bonjour René,
Voici une procédure qui insère une image d'un répertoire du disque dur
dans la cellule de la feuille de ton choix
Le principe : les bornes de l'image doit être totalement à l'intérieur
de
la cellule
Un clic droit sur l'image / menu contextuel / Format
de
l'objet /
onglet propriété / Déplacer dans redimensionner avec
les cellules.
'----------------------
Sub TestMonImage()
InsérerImage "Feuil2", Range("b5"), "C:windowsPlume.bmp"
End Sub
'----------------------
Sub InsérerImage(Feuille As String, Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'----------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
4387686d$0$1040$
Bonjour,
Je voudrai fixer (ou encrer) des images dans les cellules d'une colonne,
de
façon à pouvoir trier la feuille de calcul, les images suivant les
cellules
qui donnent leurs descriptions.
ex. en A1 le numéro d'image, en B1 l'image et en C1 la description de
l'image.
Dans les propriétés de l'image, j'ai mis déplacer et dimensionner avec
les
cellules mais cela ne fonctionne pas toujours.
J'utilise Windows xp et Excel 97.
Quelqu'un aurait-il une solution?
Merci d'avance.
La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Ceci devrait aller, j'ai déclaré chacune des variables :
'---------------------------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
Dim N As Name, Rg As Range
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each N In Application.Names
Set Rg = Range(N.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(N.Name, 4)) <> ".jpg" Then
Img = RepImage & N.Name & ".jpg"
Else
Img = RepImage & N.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, _
ByVal Rg As Range, NomImage As String)
Dim Largeur As Double, Hauteur As Double
Dim Image As Object
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
.Width = Largeur - 0.01
'Hauteur de l'image
.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
43889cd9$0$25529$
Bonsoir michdenis,
j'ai essayer de mettre le prog. en application, j'obtient "erreur de
compilation" car
la variable "n" n'est pas définie.
Si j'ajoute Dim n as object ou variant cela continue mais alors
j'ai le meme message pour Rg.
si j'ajoute Dim Rg as object le programme saute de la ligne For Each n in
Application.Names
à End Sub.
J'ai bien mis l'adresse complete du fichier ( "c:Documents and
Settingrenemes documentsnomdefichier" )
que dois-je faire?
merci d'avance.La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As
String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Ceci devrait aller, j'ai déclaré chacune des variables :
'---------------------------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
Dim N As Name, Rg As Range
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each N In Application.Names
Set Rg = Range(N.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(N.Name, 4)) <> ".jpg" Then
Img = RepImage & N.Name & ".jpg"
Else
Img = RepImage & N.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, _
ByVal Rg As Range, NomImage As String)
Dim Largeur As Double, Hauteur As Double
Dim Image As Object
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
.Width = Largeur - 0.01
'Hauteur de l'image
.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Salutations!
"René MATHIEU" <mathieu.rene@skynet.be> a écrit dans le message de news:
43889cd9$0$25529$ba620e4c@news.skynet.be...
Bonsoir michdenis,
j'ai essayer de mettre le prog. en application, j'obtient "erreur de
compilation" car
la variable "n" n'est pas définie.
Si j'ajoute Dim n as object ou variant cela continue mais alors
j'ai le meme message pour Rg.
si j'ajoute Dim Rg as object le programme saute de la ligne For Each n in
Application.Names
à End Sub.
J'ai bien mis l'adresse complete du fichier ( "c:Documents and
Settingrenemes documentsnomdefichier" )
que dois-je faire?
merci d'avance.
La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As
String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Ceci devrait aller, j'ai déclaré chacune des variables :
'---------------------------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
Dim N As Name, Rg As Range
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each N In Application.Names
Set Rg = Range(N.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(N.Name, 4)) <> ".jpg" Then
Img = RepImage & N.Name & ".jpg"
Else
Img = RepImage & N.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, _
ByVal Rg As Range, NomImage As String)
Dim Largeur As Double, Hauteur As Double
Dim Image As Object
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
.Width = Largeur - 0.01
'Hauteur de l'image
.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
43889cd9$0$25529$
Bonsoir michdenis,
j'ai essayer de mettre le prog. en application, j'obtient "erreur de
compilation" car
la variable "n" n'est pas définie.
Si j'ajoute Dim n as object ou variant cela continue mais alors
j'ai le meme message pour Rg.
si j'ajoute Dim Rg as object le programme saute de la ligne For Each n in
Application.Names
à End Sub.
J'ai bien mis l'adresse complete du fichier ( "c:Documents and
Settingrenemes documentsnomdefichier" )
que dois-je faire?
merci d'avance.La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As
String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Ceci devrait aller, j'ai déclaré chacune des variables :
'---------------------------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
Dim N As Name, Rg As Range
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each N In Application.Names
Set Rg = Range(N.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(N.Name, 4)) <> ".jpg" Then
Img = RepImage & N.Name & ".jpg"
Else
Img = RepImage & N.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, _
ByVal Rg As Range, NomImage As String)
Dim Largeur As Double, Hauteur As Double
Dim Image As Object
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
.Width = Largeur - 0.01
'Hauteur de l'image
.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
43889cd9$0$25529$
Bonsoir michdenis,
j'ai essayer de mettre le prog. en application, j'obtient "erreur de
compilation" car
la variable "n" n'est pas définie.
Si j'ajoute Dim n as object ou variant cela continue mais alors
j'ai le meme message pour Rg.
si j'ajoute Dim Rg as object le programme saute de la ligne For Each n in
Application.Names
à End Sub.
J'ai bien mis l'adresse complete du fichier ( "c:Documents and
Settingrenemes documentsnomdefichier" )
que dois-je faire?
merci d'avance.La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As
String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Ceci devrait aller, j'ai déclaré chacune des variables :
'---------------------------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
Dim N As Name, Rg As Range
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each N In Application.Names
Set Rg = Range(N.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(N.Name, 4)) <> ".jpg" Then
Img = RepImage & N.Name & ".jpg"
Else
Img = RepImage & N.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, _
ByVal Rg As Range, NomImage As String)
Dim Largeur As Double, Hauteur As Double
Dim Image As Object
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
.Width = Largeur - 0.01
'Hauteur de l'image
.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Salutations!
"René MATHIEU" <mathieu.rene@skynet.be> a écrit dans le message de news:
43889cd9$0$25529$ba620e4c@news.skynet.be...
Bonsoir michdenis,
j'ai essayer de mettre le prog. en application, j'obtient "erreur de
compilation" car
la variable "n" n'est pas définie.
Si j'ajoute Dim n as object ou variant cela continue mais alors
j'ai le meme message pour Rg.
si j'ajoute Dim Rg as object le programme saute de la ligne For Each n in
Application.Names
à End Sub.
J'ai bien mis l'adresse complete du fichier ( "c:Documents and
Settingrenemes documentsnomdefichier" )
que dois-je faire?
merci d'avance.
La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As
String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Ceci devrait aller, j'ai déclaré chacune des variables :
'---------------------------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
Dim N As Name, Rg As Range
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each N In Application.Names
Set Rg = Range(N.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(N.Name, 4)) <> ".jpg" Then
Img = RepImage & N.Name & ".jpg"
Else
Img = RepImage & N.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, _
ByVal Rg As Range, NomImage As String)
Dim Largeur As Double, Hauteur As Double
Dim Image As Object
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
.Width = Largeur - 0.01
'Hauteur de l'image
.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------
Salutations!
"René MATHIEU" a écrit dans le message de news:
43889cd9$0$25529$
Bonsoir michdenis,
j'ai essayer de mettre le prog. en application, j'obtient "erreur de
compilation" car
la variable "n" n'est pas définie.
Si j'ajoute Dim n as object ou variant cela continue mais alors
j'ai le meme message pour Rg.
si j'ajoute Dim Rg as object le programme saute de la ligne For Each n in
Application.Names
à End Sub.
J'ai bien mis l'adresse complete du fichier ( "c:Documents and
Settingrenemes documentsnomdefichier" )
que dois-je faire?
merci d'avance.La procédure pourrait ressembler à ceci :
A ) Tu dois renseigner la variable RepImage adéquatement.
B ) Comme tu veux pouvoir trier la plage de données incluant
les images, tu dois t'assurer que toutes les lignes de la plage
sont de la même hauteur avant de débuter... sinon ce ne sera
pas très beau après le tri. ;-) Tu aurais alors besoin d'une autre
procédure pour replacer les images.
C ) Les bornes de l'image doivent être totalement à l'intérieur de la
cellule. Dans la procédure :"InsérerImage", j'ai enlevé .01 à la
grandeur de l'image pour cette raison....à tester sa véritable
nécessité !
'----------------------
Sub TestMonImage()
Dim Img As String
Dim RepImage As String
'Répertoire où sont les images
'Ne pas oublier le symbole "backlash"
RepImage = "c:windows" 'à déterminer
On Error Resume Next
For Each n In Application.Names
Set Rg = Range(n.Name)
If Err <> 0 Then
Err = 0
Else
If LCase(Right(n.Name, 4)) <> ".jpg" Then
Img = RepImage & n.Name & ".jpg"
Else
Img = RepImage & n.Name
End If
If Dir(Img) <> "" Then
InsérerImage Rg.Parent.Name, Rg, Img
Else
MsgBox "Ce fichier image n'existe pas : " & _
vbCrLf & Img
End If
End If
Next
End Sub
'----------------------
Sub InsérerImage(Feuille As String, ByVal Rg As Range, NomImage As
String)
With Worksheets(Feuille)
Largeur = Rg.Offset(, 1)(, Rg.Columns.Count).Left - Rg.Left
Hauteur = Rg.Offset(Rg.Rows.Count).Top - Rg(1).Top
Set Image = .Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left + 0.01
.Top = Rg.Top + 0.01
'Largeur de l'image
Image.Width = Largeur - 0.01
'Hauteur de l'image
Image.Height = Hauteur - 0.01
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlMove 'orxlFreeFloating or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------