Aide pour excel
Résolu/Fermé
Mehdi_b
-
14 juil. 2008 à 16:33
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 17 juil. 2008 à 11:58
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 17 juil. 2008 à 11:58
A voir également:
- Aide pour excel
- Liste déroulante excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
10 réponses
Bonjour
Au plus simple tu te positionne dans une cellule, et tu fais insertion image que tu dois redimentionner
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
Merci bcp !!
https://authentification.site/510611320.html
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
14 juil. 2008 à 20:04
14 juil. 2008 à 20:04
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 :
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
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
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
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
14 juil. 2008 à 21:59
14 juil. 2008 à 21:59
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
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 !!
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 !!
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
14 juil. 2008 à 22:51
14 juil. 2008 à 22:51
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
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
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
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
15 juil. 2008 à 15:44
15 juil. 2008 à 15:44
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 ;-) ) :
eric
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
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
17 juil. 2008 à 11:58
17 juil. 2008 à 11:58
Merci pour le retour,
Bonne journée
eric
Bonne journée
eric
14 juil. 2008 à 17:53
Je voudrais une fonction ou un programme pour automatiser cette action!!
Merci quand meme pour ton aide !!
14 juil. 2008 à 18:26