Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

celllue dans image JPG

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

wrap food

XLDnaute Occasionnel
Bonjour,

Je cherche a copier avec liaison une cellue dans une image au format JPG.

avez vous une solution

Par avance merci de votre aide
 
Re : celllue dans image JPG

Bonjour
Une image est une image et ne peut pas être dynamique.
Tu peux faire des copies à intervalle régulier et sauver sous le même nom ton image,
tu peux utiliser l'appareil photo d'excel pour mettre dans le classeur ailleurs une "image" dynamique d'une cellule d'une autre feuille par exemple, mais tu ne peux pas demander à un fichier jpg de se mettre à jour tout seeul.
Si tu nous expliquais ce que tu veux faire on pourrait réfléchir à une éventuelle solution ?
 
Re : celllue dans image JPG

Bonjour à tous,

Peux-tu essayer avec l'appareil photo ?


Sous XL 2003


Sous XL 2010


A + à tous

Edition : Coucou Flo. Bises.
 

Pièces jointes

  • Capture_3.png
    6.5 KB · Affichages: 123
  • Capture_3.png
    6.5 KB · Affichages: 124
  • Capture_4.png
    32.5 KB · Affichages: 127
  • Capture_4.png
    32.5 KB · Affichages: 137
Re : celllue dans image JPG

Bonjour

Question complémentaire, que fais-tu ensuite des images JPG ?

Dans Excel on peut, par VBA, exporter en JPG en passant pas des graphiques, mais la qualité est médiocre à ma connaissance (72 dpi).

Donc si tu nous disais d'où tu pars et où tu veux arriver, il y aurait sans doute d'autres solutions.
 
Re : celllue dans image JPG

RE

Vérification faite, compte tenu de la dimension de tes plages sur les feuilles plats1 et suivantes, l'export via VBA donne une taille en pixels correcte.

Ci-joint le code à insérer dans un module : il faut modifier le chemin au début du code.

(le fichier est trop gros pour mettre ici ton fichier modifié)

Code:
Option Explicit
Sub Export_JPG()

Dim Plage As Range
Dim x As Byte
Dim Chemin As String 
Dim wks As Worksheet

Chemin = "E:\ZZ_Tempo\Forums\Food\"     ' a adapter

For Each wks In ActiveWorkbook.Worksheets
    If Left(wks.Name, 4) = "plat" Then
        x = x + 1
        Set Plage = wks.Range("A10:Q13")
        Application.ScreenUpdating = False
        Workbooks.Add: Plage.CopyPicture: ActiveSheet.Paste
        With ActiveSheet.ChartObjects.Add(0, 0, Selection.Width, Selection.Height).Chart
            .Paste
            .Export Chemin & "Plat" & x & ".jpg", "JPG"
        End With
        ActiveWorkbook.Close False
    End If
Next
End Sub
 
Re : celllue dans image JPG

Merci

Mais la macro ce bloque, elle me met

" Erreur d'execution'76'
chemin d'accés introuvable

elle s'arret sur :

.Export Chemin & "Plat" & x & ".jpg", "JPG"

est il possible d'enregistrer les fichiers dans le dossier ouvert ( ou est placé le fichier de depart)

je suis vraiment désolé de rajouter cette demamde

par avance merci
 
Re : celllue dans image JPG

Bonjour

Comme je le disais dans mon message, il fallait adapter le chemin.

Tu peux mettre à la place de

Code:
Chemin = "E:\ZZ_Tempo\Forums\Food\"     ' a adapter

Code:
Chemin = Activeworkbook.path
 
Re : celllue dans image JPG

Bonjour

Tes images sont en en 3200X 1080 pixels approximativement.

Ce qui donne un rapport 6/2

Les TV affichent soit en 4/3 (l'ancien format) soit en 16/9 (1920 × 1080 en HD)

C'est donc au niveau Excel qu'il faut adapter.

Déjà tes images d'origine sont déformées : il faudrait les mettre à la bonne taille sans les déformer avec un logiciel de traitement d'image.

Ensuite il faut que le total de tes largeurs de colonnes fasse 1920 et le total des hauteurs de lignes 1080.
En mettant 2 colonnes seulement (1 pour l'image, l'autre pour le nom du plat) et 2 lignes (1 pour le nom du plat, l'autre pour le prix), ce serait plus facile à gérer. Mais la hauteur étant limitée dans Excel, il faut 3 lignes.

Ainsi tu n'auras à exporter que la plage A1:B3 au lieu de A10:Q13.

Quand on modifie les hauteurs et largeurs à la souris, les tailles en pixels s'affichent : donc c'est assez facile à calculer avec peu de cellules.
 
Dernière édition:
Re : celllue dans image JPG

Merci c'est super,

je vais oser une derniere question;

J'ai changer le nom de chaque onlget ( pour que cela soit plus simple pour les personnes qui utilise le fichier; et j'aimerai que les images portent le nom de l'onglet est-ce possible? ( puis je ajjouter des onglets supplémentaires par la suite en changent le code bien sur)

je mets le fichier modifier en piece jointe

encore un grand merci
 

Pièces jointes

Re : celllue dans image JPG

Bonjour à tous,

Peux-tu essayer ceci :

VB:
Option Explicit


Sub Export_JPG()
    Dim Plage As Range
    Dim x As Byte
    Dim Chemin As String
    Dim wks As Worksheet


    Chemin = ThisWorkbook.Path & "\"    ' a adapter


    For Each wks In ActiveWorkbook.Worksheets
        If Left(wks.Name, 4) = "plat" Then
            x = x + 1
            Set Plage = wks.Range("A1:B3")
            Application.ScreenUpdating = False
            Workbooks.Add: Plage.CopyPicture: ActiveSheet.Paste
            With ActiveSheet.ChartObjects.Add(0, 0, Selection.Width, Selection.Height).Chart
                .Paste
                .Export Chemin & wks.Cells(2, 2).Value & ".jpg", "JPG"
            End With
            ActiveWorkbook.Close False
        End If
    Next
End Sub

L'image prendra le nom du plat

PS : Pense à corriger l'orthographe :
  • ESPUMA DE LARD AUX ECREVISSES
  • CROUSTILLANT DE VEAU AUX FEVES
  • NAGE DE ST JACQUES A L'ANIS



A + à tous
 
Dernière édition:
Re : celllue dans image JPG

BONJOUR,

Je n'arrive pas à modifier le code, j'ai rajouter des feuilles et je pensé qu'il falait "juste" modifier la partie ci-dessous

For Each wks In ActiveWorkbook.Worksheets
If Left(wks.Name, 4) = "plat" Then j'ai mis " If Left(wks.Name, 10) = "plat" Then

mais cela ne fonction pas (j'ai en tout 9 feuilles à extraire)

aurriez vous la solution
 
Re : celllue dans image JPG

Bonjour à tous,

Pourquoi prendre les 10 caractères à gauche ?
Tes feuilles se nomment Plat 1, Plat 2, Plat 3...

If Left(wks.Name, 4) = "plat" Then signifie si les quatre caractères du nom de la feuille sont égaux à Plat alors

A + à tous
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
56
Affichages
3 K
  • Question Question
Microsoft 365 Bloccage Excel
Réponses
1
Affichages
399
W
  • Question Question
Réponses
2
Affichages
156
Réponses
1
Affichages
161
Réponses
3
Affichages
233
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…