Bonjour à tous,
Je suis dans mes débuts avec les Macro, et je fait bcp de copier / coller...
Donc je vous exprime mon souci si quelqu'un a une idée:
J'ai appliqué le code que j'ai trouvé dans un fichier Excel.
Le BUT de ce Code est de prendre des photos qui ce trouve dans un emplacement que l'on renseigne dans une cellule (K2), et de les insérer toutes d'un seul coup en un clic..
ça Fonctionne mais les photos apparéssent seulement quand le fichier xls est dans mon PC, (ça ne copie qu'un lien et non la photo en dur..)
Quand j'envoie mon fichier à un collégue il ne peut pas voir les photos..
Si je déplace les photos du dossier d'origine (K2) c'est pareille..
Je voudrais SVP une solution si vous pouvez m'aidez à ce que les photos soit inséré rééllement et définitivement.
Merci d'avance(Fichier joint)
En plus
Ci-joint le code:
Sub InsertionImages()
Dim Repertoire As String
Dim Extension As String
Dim Fichier As String
Dim chemin As String
Dim final As String
chemin = Sheets("Photo").Range("K2")
final = chemin & "\"
'Saisie du nom du répertoire
Repertoire = InputBox("Chemin complet du répertoire (\ à la fin)", "Répertoire", final)
If Repertoire = "" Then Exit Sub
'Saisie du type d'extension
Extension = InputBox("Type de fichier (sans le point, ex : jpg, png, bmp)", "Type de fichier", "jpg")
If Extension = "" Then Exit Sub
'Récupération du premier fichier du répertoire
Fichier = Dir(Repertoire & "*" & Extension, vbDirectory)
l = -3
c = 4
Do While Fichier <> ""
i = i + 1
'Insertion de l'image
l = l + 5
'Verification 5 photos
X = 0
If l = 23 Then
c = c + 13
l = 2
End If
If l = 7 Then
l = l + 1
X = 1
End If
ActiveSheet.Pictures.Insert(Repertoire & Fichier).Select
'ActiveSheet.Pictures.Insert(ficimg).Select ' insertion
Selection.Name = Fichier
Selection.ShapeRange.LockAspectRatio = msoFalse
With ActiveSheet.Shapes(Fichier)
.Top = Cells(c, l).Top
.Left = Cells(c, l - X).Left
.Height = Range(Cells(c, l), Cells(c + 11, l)).Height
.Width = Range(Cells(c, l), Cells(c, l + 4 + X)).Width
End With
Range("A1").Select
Fichier = Dir
Loop
End Sub
Je suis dans mes débuts avec les Macro, et je fait bcp de copier / coller...
Donc je vous exprime mon souci si quelqu'un a une idée:
J'ai appliqué le code que j'ai trouvé dans un fichier Excel.
Le BUT de ce Code est de prendre des photos qui ce trouve dans un emplacement que l'on renseigne dans une cellule (K2), et de les insérer toutes d'un seul coup en un clic..
ça Fonctionne mais les photos apparéssent seulement quand le fichier xls est dans mon PC, (ça ne copie qu'un lien et non la photo en dur..)
Quand j'envoie mon fichier à un collégue il ne peut pas voir les photos..
Si je déplace les photos du dossier d'origine (K2) c'est pareille..
Je voudrais SVP une solution si vous pouvez m'aidez à ce que les photos soit inséré rééllement et définitivement.
Merci d'avance(Fichier joint)
En plus
Ci-joint le code:
Sub InsertionImages()
Dim Repertoire As String
Dim Extension As String
Dim Fichier As String
Dim chemin As String
Dim final As String
chemin = Sheets("Photo").Range("K2")
final = chemin & "\"
'Saisie du nom du répertoire
Repertoire = InputBox("Chemin complet du répertoire (\ à la fin)", "Répertoire", final)
If Repertoire = "" Then Exit Sub
'Saisie du type d'extension
Extension = InputBox("Type de fichier (sans le point, ex : jpg, png, bmp)", "Type de fichier", "jpg")
If Extension = "" Then Exit Sub
'Récupération du premier fichier du répertoire
Fichier = Dir(Repertoire & "*" & Extension, vbDirectory)
l = -3
c = 4
Do While Fichier <> ""
i = i + 1
'Insertion de l'image
l = l + 5
'Verification 5 photos
X = 0
If l = 23 Then
c = c + 13
l = 2
End If
If l = 7 Then
l = l + 1
X = 1
End If
ActiveSheet.Pictures.Insert(Repertoire & Fichier).Select
'ActiveSheet.Pictures.Insert(ficimg).Select ' insertion
Selection.Name = Fichier
Selection.ShapeRange.LockAspectRatio = msoFalse
With ActiveSheet.Shapes(Fichier)
.Top = Cells(c, l).Top
.Left = Cells(c, l - X).Left
.Height = Range(Cells(c, l), Cells(c + 11, l)).Height
.Width = Range(Cells(c, l), Cells(c, l + 4 + X)).Width
End With
Range("A1").Select
Fichier = Dir
Loop
End Sub