Simon 1234
XLDnaute Junior
Bonjour à tous
Pour un collègue je créer un outil. On y fait la liste de machines, quand on clique sur le nom de la machine ça ouvre les photos de cette machine.
Pour une machine "toto", les photos doivent être nommées "toto1.jpg , toto2.jpg", ça me semble plus simple à retrouver.
Le fichier excel est dans un dossier "MACHINES". Les photos ont leur propre dossier "PHOTOS" dans ce même dossier "MACHINES"; donc \MACHINES\PHOTOS.
Les noms de machines sont dans la colonne A. Une macro, à l'ouverture du fichier, vérifie si des photos sont présentes et les liste, et retire ".jpg". Ainsi, avec Equiv, j'arrive à faire la correspondance entre le nom des machines et le nom des photos. La colonne B affiche une icône de lunettes si des photos sont disponibles.
Ca marche, mais bizarrement, j'ai un problème avec le compteur dans le code. Je joins le dossier parce que c'est compliqué à expliquer mais lorsqu'on clique sur des lunettes, ca ouvre les photos de la machine mais aussi celles des machines précédentes.
D'avance merci à toute personne qui m'aidera à terminer ce projet.
Bonne journée.
Le code:
Pour un collègue je créer un outil. On y fait la liste de machines, quand on clique sur le nom de la machine ça ouvre les photos de cette machine.
Pour une machine "toto", les photos doivent être nommées "toto1.jpg , toto2.jpg", ça me semble plus simple à retrouver.
Le fichier excel est dans un dossier "MACHINES". Les photos ont leur propre dossier "PHOTOS" dans ce même dossier "MACHINES"; donc \MACHINES\PHOTOS.
Les noms de machines sont dans la colonne A. Une macro, à l'ouverture du fichier, vérifie si des photos sont présentes et les liste, et retire ".jpg". Ainsi, avec Equiv, j'arrive à faire la correspondance entre le nom des machines et le nom des photos. La colonne B affiche une icône de lunettes si des photos sont disponibles.
Ca marche, mais bizarrement, j'ai un problème avec le compteur dans le code. Je joins le dossier parce que c'est compliqué à expliquer mais lorsqu'on clique sur des lunettes, ca ouvre les photos de la machine mais aussi celles des machines précédentes.
D'avance merci à toute personne qui m'aidera à terminer ce projet.
Bonne journée.
Le code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Erreur
Dim NumCell As Integer
Dim MachineName As String
Dim dossier As String
dossier = ActiveWorkbook.Path & "\PHOTOS\"
Dim NomFichier As String
Dim CheminComplet As String
Dim Compteur As Byte
If Selection.Count = 1 Then
If Not Intersect(Target, Range("B2:B50")) Is Nothing Then
NumCell = Target.Row
MachineName = Range("A" & NumCell).Value
If MachineName <> "" Then 'une machine sur cette ligne
MsgBox MachineName
Compteur = 1
CheminComplet = dossier & MachineName & Compteur & ".jpg"
If Dir(CheminComplet) <> "" Then
Range("B2").Select
ActiveSheet.Pictures.Insert(CheminComplet).Select
'redimensionner
Selection.ShapeRange.ScaleHeight 0.79, msoFalse, msoScaleFromTopLeft
Compteur = Compteur + 1
End If 'dir chemin non vide
End If 'if not intersect
End If 'if selec count
GoTo Fin
Else
GoTo Fin
End If 'test machinename vide
Erreur:
MsgBox ("Une erreur est survenue, merci de réessayer")
Fin:
End Sub