Faire apparaître un image

Bonjour, Bonsoir.

Pour vous mettre dans le contexte, je suis en alternance en BTS assistant technique d'ingénieur depuis cette année, et je travail dans une boîte qui fabrique des machines industrielles.

Comme je dois mettre en ordre les placards d'outils et pour pouvoir y réguler, Je doit faire un fichier exel qui répertorie les noms, les fonctions et les compartiments d'outil industriel (des outils peu commun qui on été créer spécialement pour régler des machines). Donc il y a beaucoup d'outil, beaucoup sont communs à toutes nos machines, d'autres sont spécialisé à une seule machine.

Comme les noms des outils sont du types FTZ01A01, je n'arrive pas à les différencier par leurs représentation. Donc j'ai le projet de mettre une image par outil (capture d’écran de TopSolid) dans exel.

Ce que je veux faire, c'est créer une colonne du nom "Faire apparaître l'image" puis avoir un cellule à double choix avec "oui" et "non".

Si la réponse est oui, alors on fait apparaître l'image dans un espace définie.

J'ai déjà réfléchie au inconvénient. Si il y a deux oui dans cases de la colonne "Faire apparaître l'image", il n'y aurais pas d'image afficher mais seulement une phrase : "il ne peux y avoir qu'une image afficher".

Ou même faire cela avec deux emplacements où afficher l'image.

Le seul problème c'est que je ne sais pas comment écrire cela dans un "algorithme".

De plus j'ai déjà fait des recherches, et j'ai vu que les images devaient être stockés dans des autres feuilles. Là est aussi mon problème car j'ai déjà cinq ou six feuilles déjà créer à cause de mon rangement. En effet, j'ai choisie de créer une feuille par type de machine pour que ce soit plus lisible.

Donc je voudrais savoir si mon projet est réalisable et comment dois-je le faire.

Je vous remercie d'avance

Harchi.

Bonsoir,

Ci-joint une proposition à tester et à adapter.

Le zip contient :

> le fichier Excel principal en VBA

> un sous-répertoire "Image" avec plusieurs images : à copier au même niveau que le fichier Excel principal (le zip contient l'arborescence cible)

Liste de choix OUI/NON pour afficher l'image

Choix ""OUI"" :

=> recherche automatiquement l'image ""FTZxxxxx.jpg"" dans le sous-répertoire ""Images""

=> si absente, sélection manuelle de l'image à insérer

Choix ""NON"" :

=> supprime l'image

Bonne soirée

Bouben

81insererimages.zip (108.02 Ko)

Bonjour,

Je vous remercie pour votre réponse. Votre fichier me plaît.

J'ai juste quelques petits problèmes. Je n'arrive pas à mettre les images dans le tableau exel. Pour le faire, j'ai suivi ce tuto : http://apprendreexcel.fr/inserer-image-excel/

capture

Comme vous pouvez le voir sur la photo, dans la cellule I1, j'ai mis l'endroit où j'ai enregistrer mes images du même nom que mes plans.

J'ai ensuite entré la formule =$I$1&"\"&C2&".jpg" dans la cellule I2.

Le problème c'est que je n'ai pas mes images, mais seulement les liens.

Second problème, c'est dans la case "afficher l'image" (que je n'ai pas encore créé) , quelle algorithme dois-je entrée pour faire :

"

Liste de choix OUI/NON pour afficher l'image

Choix ""OUI"" :

=> recherche automatiquement l'image ""FTZxxxxx.jpg"" dans le sous-répertoire ""Images""

=> si absente, sélection manuelle de l'image à insérer

"

Merci d'avance

Harchi.

Bonjour,

Toujours pas de solution?

Rebonjour,

J'ai réussi à trouver la commande dans votre fichier.

Mais je voudrais l'option "non" -> supprime l'image par cache l'image.

La macro :

Private Sub Worksheet_Change(ByVal Target As range)

Dim sFichier As String

Dim oImage As Shape

If Target.Count = 1 Then

If Target.Column = 6 Then 'colonne F

If Target.Value = "OUI" Then

sFichier = ThisWorkbook.Path & "\Images\" & range("A" & Target.Row).Value & ".jpg"

If Dir(sFichier) = "" Then

MsgBox "Fichier absent !" & vbCrLf & "Veuillez sélectionner l'image à insérer ...", vbExclamation

sFichier = Application.GetOpenFilename(, , "Veuillez sélectionner une image !")

If sFichier = "Faux" Then

Target.Value = "NON" 'repasse à non (on n'affiche pas d'image)

Exit Sub

End If

End If

Set oImage = Shapes.AddPicture(sFichier, _

True, _

True, _

Cells(Target.Row, Target.Column + 1).Left, _

Target.Top, Cells(Target.Row, Target.Column + 1).Width, Target.Height)

oImage.Name = range("A" & Target.Row).Value

Set oImage = Nothing

Else

'If MsgBox("Voulez-vous supprimer l'image ?", vbYesNo + vbExclamation) = vbYes Then

On Error Resume Next 'si image n'existait pas

Shapes.Item(range("A" & Target.Row).Value).Delete

On Error GoTo 0

'End If

End If

End If

End If

End Sub

Merci

Bonjour,

J'ai une autre solution. La voici, avec la colonne H qui me permet de choisir entre "Oui et" Non", et j'ai une case cellule prédéfini avec une formule qui me permet d'avoir "qu'une seule image peut être affiché" s'il y a plus d'un "Oui" dans la colonne H, ou d'avoir "1" quand il y a qu'un seul "Oui" et d'avoir rien quand aucun "Oui" est présent.

Pour cela j'ai cette formule : =SI(NB.SI(H1:H16;"oui")=1;1;SI(NB.SI(H1:H16;"oui")=2;"Qu'une seule image peut-être affiché";""))

Je voudrais savoir si je peux remplacer la réponse "1" par une fonction qui me permet d'afficher une image.

En suite, je voudrais que cette image soit trié en fonction des images que j'ai enregistrer dans un fichier. Mais je n'y suis pas arrivé : voir message du 20/10/2016 à 09:38.

Je vous remercie d'avance.

Bonjour,

J'ai remplacé le "=2" par ">1" car ça ne marchait pas pour plus de deux "Oui".

Mais sinon, toujours personnes pour essayer de m'aider ?

Je vous remercie d'avance même si vous ne m'aider pas concrètement.

Amicalement,

Harchi.

Bonjour,

harchi a écrit :

Mais sinon, toujours personnes pour essayer de m'aider ?

Je vous remercie d'avance même si vous ne m'aider pas concrètement.

cf mon premier post qui semble correspondre à ta demande.

Maintenant, si tu préfères explorer d'autres pistes par toi-même, pas de souci !

Et n'hésite pas à fournir un fichier en exemple, cela nous évitera d'en refaire un autre

Bonne journée

Bouben

Salut,

Je voudrais au moins changer la ligne non qui supprime l'image par cacher cette image.

Car à chaque fois qu'on met non, nous sommes obligé de remettre l'image.

Je veux bien vous donner mon fichier, mais je ne sais pas s'il va être d'une grande utilité.

Mais merci pour votre réponse.

Amicalement,

Harchi.

Bonjour,

Ci-joint une nouvelle version, masque l'image.

Aucune macro dans ton fichier, j'ai repris le fichier fait dans mon premier message.

Les images doivent être dans le répertoire indiqué dans mon post initial, et avec le bon nom.

A tester

Bonne journée

Bouben

Re-bonjour,

C'est la première fois que j'utilise un macro. Donc j'ai suivi un tutoriel.

Je ne sais pas pourquoi ça ne marche pas.

J'ai changé votre macro sur la colonne f.

Je n'ai pas trop compris où devais-je enregistrer les images.

J'ai créer un dossier où il y a mon fichier excel et un dossier "Image".

Comme sur la capture d'écran.

Donc ais-je mal enregistrer mon répertoire ? Ou 'es-ce dans ma macro?

Amicalement,

Harchi.

capture

Bonjour,

Effectivement, il faut quelques bases sur l'utilisation des macros et le code VBA.

Pour commencer, le fichier dans être enregistré au format ".xlsm".

Ci-joint les modifications appliquées à ton fichier réel.

Tu risques d'avoir très vite besoin de faire des modifications. Donc si tu n'as aucune base sur les macros, je te conseille d'utiliser une autre méthode ou d'apprendre rapidement.

Bouben

[b][size=150]EDIT :

https://forum.excel-pratique.com/excel/fonction-afficher-une-image-t84160.html[/size][/b]

Rechercher des sujets similaires à "apparaitre image"