Affichage photos dans 1 forme fixe
Bonjour à tous,
Après un grand silence, je reviens vers vous pour éclairer ma lanterne.
Je cherche à afficher, par sélection de cellule d'une colonne, la photo correspondant à la désignation indiquée dans une autre colonne.
Un exemple en pièce jointe sera plus explicite...
Je remercie d'avance ceux et celles qui prendront le temps de m'aider.
Cordialement
axion
EDIT :
J'ai repris ce dossier en tentant de trouver un résultat, mais je butte.
un second fichier avec des photos à insérer dans le même dossier sont indispensables à l'exercice...
Mais je cherche à récupérer les photos internes au fichier et non pas celles, extérieures, du dossier.
Quelques questions vous sont posées en 1ere feuille
Merci de votre attention et de vos réponses.
Cordialement
axion
PS: la 5e photo (hiver) ne passe pas ...?
Bonjour le forum
juste un petit up pour quitter le fond de la seconde page et vous présenter mes balbutiements pour correction.
D'avance merci
Cordialement
axion
Bonjour,
A tester :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Plage As Range, c As Range
If Target.Count > 1 Then Exit Sub
Set Plage = [B8:B210]
If Not Intersect(Target, Plage) Is Nothing Then
Set c = Sheets("photos").[A:A].Find(Target.Offset(, 4), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing And c <> "" Then
ActiveSheet.Pictures.Delete
Sheets("photos").Shapes(Target.Offset(, 4)).Copy
Application.EnableEvents = False
[A1].Select
ActiveSheet.Paste
Target.Select
Application.EnableEvents = True
End If
End If
End Sub
Mais garder les photos à l'extérieur du fichier est mieux.
Si tu en as beaucoup tu vas obtenir un fichier lourd, long à ouvrir, et instable jusqu'à ce que tu ne puisses plus l'ouvrir du tout.
eric
Bonjour Eric, le forum
Je te remercie beaucoup de ton aide efficace.
les photos sont comprimées à outrance (elles passent de 3 ou 5 méga à 8 ou 12 ko pour servir "d'icones" de vérification)
Toutefois, il semble rester deux incertitudes ; j'ai pourtant bien nettoyé le VB avant copie :
- la photo affichée reste si on sélectionne une ligne vide en col B (je souhaiterais qu'elle disparaisse dans ce cas)
- la sélection finale (de la macro) ne se fait pas sur la colonne F, sur la ligne de sélection en col B
est-ce mon ordi qui refuse ? sans préavis
les photos antérieures sont bien effacées (elles ne se cumulent pas) lors d'une sélection en col B de ligne non vide en col F)
Nota: la col B contient des "=F" pour les besoins de ma 1ere macro (devenus inutiles dans ta solution, mais sans changement si effacés)
Merci de ton aide et de ta réponse
Cordialement
axion
Non, ton micro ne te fait pas un caprice, je n'avais pas tout lu.
Enlève ta fusion de cellules inutile, supprime lignes 2:3, je centre la photo sur A1 :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Plage As Range, c As Range
If Target.Count > 1 Then Exit Sub
Set Plage = [B6:B210]
If Not Intersect(Target, Plage) Is Nothing Then
Set c = Sheets("photos").[A:A].Find(Target.Offset(, 4), LookIn:=xlValues, lookat:=xlWhole)
Application.ScreenUpdating = False
ActiveSheet.Pictures.Delete
If Not c Is Nothing And c <> "" Then
Sheets("photos").Shapes(Target.Offset(, 4)).Copy
Application.EnableEvents = False
[A1].Select
ActiveSheet.Paste
Selection.Top = ([A1].Height - Selection.Height) / 2
Selection.Left = ([A1].Width - Selection.Width) / 2
Cells(Target.Row, "F").Select
Application.EnableEvents = True
End If
End If
End Sub
Mais pourquoi avoir choisi B et non F (libellé) ?
Ca serait plus ergonomique.
eric
re,
je te félicite de ta célérité !
j'avais choisi la col B car, avec ma macro, la sélection en col F devenait galère (déclenchement de macro)
avec ta solution, plus ce problème
Bon je répond avant de tester mais je reviens
Encore merci et bonne soirée
je te tiens au courant
Cordialement
axion
EDIT :
NICKEL ! MERCI encore pour ta patience
à bientôt, je crois, pour une autre bouée
Cordialement
axion