Aide pour excel
Résolu
Mehdi_b
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voila j'ai un tableau sous excel qui décrit une liste de produit avec les colonne codes,
désignation, stock ...
Je voudrais pouvoir rajouter une colonne qui contiendrait des photos de ces articles, photos que
je stock dans un autre dossier et qui ont le même nom que le code des articles.
J'aimerais savoir si c'est fesable
MErci !!
Voila j'ai un tableau sous excel qui décrit une liste de produit avec les colonne codes,
désignation, stock ...
Je voudrais pouvoir rajouter une colonne qui contiendrait des photos de ces articles, photos que
je stock dans un autre dossier et qui ont le même nom que le code des articles.
J'aimerais savoir si c'est fesable
MErci !!
Configuration: Windows Vista Firefox 2.0.0.15
10 réponses
-
Bonjour
Au plus simple tu te positionne dans une cellule, et tu fais insertion image que tu dois redimentionner -
Tu veux vraiement les voir tes photo ou tu veux un lien ? Utilise la fonction hypertexte si tes photos sont accessibles facilement. et si le nom des photo est sequentiel tu peux commencer par faire une focntion de concaténation de texte et ensuite tu tansforme cela en formule. PAs facile à expliquer, et il faudrait tester, mais la base de la solution serait là je pense
-
Oui si possible j'aimerais les voir mais comprenez que je suis novice en Excel, je ne sais pas vraiment en quoi consiste la solution que tu me propose voila dans le lien suivant un exemple avec des photos pour que tu vois ce qu'il en ai
Merci bcp !!
https://authentification.site/510611320.html
-
-
Bonsoir,
Supposons tes codes en colonne A, tes images (.jpg) dans le répertoire C:\images\
En colonne B tu peux te fabriquer un lien vers les images avec en B2 par exemple :
B2: ="c:\images\" & A1 & ".jpg"
que tu recopies vers le bas...
Ensuite tu colles dans un module le code suivant :Sub AffImage2() ' Sélectionner les cellules contenant un lien vers une image ' AffImage les affichera sur le lien ou dans la colonne de gauche ou de droite Const hDefaut = 75 Const imgDefaut = "" ' saisir chemin complet et nom image par défaut à afficher si erreur Dim msg As String, r As Long, h As Long Dim c As Range, numfich As Integer msg = "Oui : Afficher les images à gauche des liens sélectionnés" & vbCrLf msg = msg & "Non : Afficher les images sur les liens sélectionnés" & vbCrLf msg = msg & "Annuler : Afficher les images à droite des liens sélectionnés" r = MsgBox(msg, vbYesNoCancel, "Cellules où mettre les images") If r = vbYes Then r = -1 ElseIf r = vbNo Then r = 0 Else r = 1 End If h = InputBox("Hauteur des lignes :", "Choix hauteur", hDefaut) For Each c In Selection 'c.ColumnWidth = 20 fich = c.Value ' test fichier If fich <> "" Then numfich = FreeFile() On Error GoTo errfich Open fich For Input As #numfich Close #numfich GoTo suite1 errfich: fich = imgDefaut suite1: End If ' If fich <> "" Then c.RowHeight = h 'fixer la hauteur de ligne ActiveSheet.Pictures.Insert(fich).Select 'ouverture image With Selection.ShapeRange .LockAspectRatio = msoTrue 'conserver les proportions .Height = h - 4 'hauteur de l'image = hauteur des lignes - 4 .Left = c.Offset(0, r).Left + 2 'à gauche colonne A (sinon tu calcules avec la largeur de colonne des colonnes .Top = c.Top + 2 'et positionner verticalement End With End If Next c End Sub
C'est un petit programme sans prétention que j'avais fait pour qcq'un ici.
Mais il fait ce pour quoi il est prévu : afficher des images sur une feuille excel.
- Sélectionner la plage où sont les liens vers les images (colonne B pour toi dans cet exemple)
- lancer la macro
- AffImage2 affichera les images sur le lien, ou dans la colonne de gauche ou de droite.
- la hauteur par défaut est modifiable dans Const hDefaut
- on peut afficher une image par défaut si le lien est erroné en modifiant Const imgDefaut
Si tu as des difficultés demande...
eric-
Deja merci bcp pour ton aide, je sens que j'y suis presque vu que ton programme a l'air de marcher ...
le seul hic c ce que je dois mettre dans la colonne B (les liens vers les images) tu m'a donné comme exemple:
B2: ="c:\tmp\" & A1 & ".jpg"
je suppose donc que je remplace c:\tmp\ par le chemin du dossier contenant les images..
et j copi cette ligne sur tte les autres mais ca ne marche pas vu que j'ai mis pr tester une image par defaut et c elle ki sort
comme je te lé di je sui vraimen novice lol.
MErci bcp
-
-
Tu n'es pas 'obligé' de mettre les liens dans la colonne B, tout comme tes codes ne sont pas forcément en colonne A, c'est un exemple...
Je corrige un peu la formule,
en ligne 2, colonne que tu veux : ="c:\images\" & A2 & ".jpg" :
- remplace ="c:\images\" par ton répertoire oui
- remplace A2 par la cellule où est ton code article
- ajoute & ".jpg" si tes images se terminent .jpg . Si elle seterminent par .bmp ajoute & ".bmp" etc. Ca dépend de tes images.
Si tu as du mal dépose un fichier exemple sur www.cijoint.com et colle ici le lien fourni.
eric -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
J'ai vraiment du mal a deposer le fichier
Voila un lien ou il y a un exemple comme tu m'a demander
http://www.cijoint.fr/cjlink.php?file=cj200807/cijN2XCKPr.zip
Merci bcp eric !! -
Tes photos ne portent pas le même nom que les codes.
J'ai modifié les codes en remplaçant le 1er 0 par un 1, et j'ai mis les photos dans le répertoire "c:\photos".
Si c'est toujours comme ça on peut modifier la formule pour en tenir compte...
Voilà le résultat : http://www.cijoint.fr/cjlink.php?file=cj200807/cijib8QZ9y.xls
eric -
re bonjour !!
Voila toute tes indications marche parfaitement eric, merci bcp
il me reste k'un seul petit truc c l'utilisation de l'image par defaut en effet g pa mal de codes sans photos et quand j'execute la macro ca s'arrete des qu'il trouve + d'un lien mort ce qui fai qu'il n'affiche l'image par defaut que la 1ere fois et non pa a chaque foi k'il ne trouve pa l'image
MErcii -
Bonjour,
Effectivement j'avais ajouté ça rapidement sans trop avoir le temps de finaliser.
Voici donc avec une gestion des erreurs correcte (en tout cas meilleure ;-) ) :Sub AffImage() ' Sélectionner les cellules contenant un lien vers une image et appeler la macro ' AffImage les affichera sur le lien ou dans la colonne de gauche ou de droite Const hDefaut = 75 ' hauteur des images Const imgDefaut = "" ' saisir chemin complet et le nom de l'image par défaut à afficher si erreur Dim msg As String, r As Long, h As Long Dim c As Range, numfich As Integer Dim fich msg = "Oui : Afficher les images à gauche des liens sélectionnés" & vbCrLf msg = msg & "Non : Afficher les images sur les liens sélectionnés" & vbCrLf msg = msg & "Annuler : Afficher les images à droite des liens sélectionnés" r = MsgBox(msg, vbYesNoCancel, "Cellules où mettre les images") If r = vbYes Then r = -1 ElseIf r = vbNo Then r = 0 Else r = 1 End If h = InputBox("Hauteur des lignes :", "Choix hauteur", hDefaut) For Each c In Selection 'c.ColumnWidth = 20 fich = c.Value ' test fichier If fich <> "" Then numfich = FreeFile() On Error GoTo errfich Open fich For Input As #numfich Close #numfich End If ' If fich <> "" Then c.RowHeight = h 'fixer la hauteur de ligne ActiveSheet.Pictures.Insert(fich).Select 'ouverture image With Selection.ShapeRange .LockAspectRatio = msoTrue 'conserver les proportions .Height = h - 4 'hauteur de l'image = hauteur des lignes - 4 .Left = c.Offset(0, r).Left + 2 'à gauche colonne A (sinon tu calcules avec la largeur de colonne des colonnes .Top = c.Top + 2 'et positionner verticalement End With End If Next c Exit Sub errfich: fich = imgDefaut Resume Next End Sub
eric -
-
Merci pour le retour,
Bonne journée
eric