Macro impression écran zone de sélection d'impression

186macro-impr-ecran.xlsx (28.65 Ko)

Bonjour,

je souhaiterai automatiser " l'impression écran " de la la zone de l'impression définie (format JPEG si possible), pour pouvoir ensuite la récupérer cette image sur mon bureau.

Une macro permettrait-elle d'effectuer cela ?

PS: je suis sous excel 2013, depuis un Macbook pro.

Ci-joint un petit fichier exemple avec les détails.

Merci par avance pour vos aides et conseils.

Damien

Bonjour

Code à essayer

Sub test()
Dim dlg As Byte
With ActiveSheet
    dlg = .Range("B" & .Rows.Count).End(xlUp).Row
    .PageSetup.PrintArea = .Range("$B$3:$N$" & dlg)
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path  & "\" & "nom du fichier"
End With
End Sub

code qui devrait sauvegarder le fichier en format pdf dans le répertoire du fichier contenant la macro

Le nom du fichier est à définir bien entendu

Excel 2013 n'existe pas sous MAC. A moins que vous utilisiez VMware qui permet l'utilisation de windows sous MAC ??

Cordialement

Bonjour Dan,

j'obtiens le message d'erreur suivant : "erreur lors de l'impression", puis en cliquant sur ok, message d'erreur "400".

Effectivement je confond avec excel de mon ancien PC.

Aurais-tu d'autres idées pour parvenir à créer ces impressions d'écran ... ?

Merci d'avance

Damien

Bonsoir,

Je ne connais ni le besoin ni le but ni les limites d'une suite pc vers mac et inversement ( la souris "un seul" bouton c'est frustrant en tout cas XD mais j'en parle ça fait 10 ans que j'ai pas retenter le mac, cela à peut être évolué.)

Il n'y a pas un outil de capture d'écran (comme inclue dans W7 ?) c'est pratique !, car perso j'ai abandonné l'impression jpg pour toutes exploitations diverses soft à soft sur pc, d'images car l'importation est dégueulasse. Même dit en début c'est dégueulasse, pixelisé à bloc.

Le meilleur import d'un soft à l’autre c'est l'objet OLE. ( tous ne le font pas, alors PC MAC... ?)

L'objet OLE, je sélection une zone a copier dans excel, ctrl+c et ctrl+v dans autocad, ça fonctionne très bien (ormis des bugs à la con, merci autodesk ^^) mais c'est bien pratique. Le coté pratique de l'OLE c'est que le fichier d'origine reste celui origine ( Edit possible dans le fichier d'import ).

Désolé je n'ai pas compris ton besoin je te parle juste d'une possibilité que j'ai. ( autocad/excel ) à creuser ou pas

Harissa23

Bonsoir,

A essayer :

Sub ExportImgPlage()
    Dim plage As Range, chemin$, nomimg$, w!, h!
    chemin = "H:\Images\"
    nomimg = "ImagePlage.jpg"
    With ActiveSheet
        Set plage = .Range("B3:N16")
        w = plage.Width: h = plage.Height
        plage.CopyPicture
        With .ChartObjects.Add(0, 0, w, h)
            .Chart.Paste
            .Chart.Export chemin & nomimg, "JPG"
            .Delete
        End With
    End With
End Sub

Remplacer chemin et nomimg par ceux appropriés.

Cordialement.

Bonjour MFerrand,

la macro a l'air de fonctionner, je vois l'apparition à l'écran de l'impression d'écran mais en suite elle disparait... Savez-vous où elle est ensuite stockée ou enregistrée car je ne parviens pas à la trouver ... ? :/

Merci

Re

j'obtiens le message d'erreur suivant : "erreur lors de l'impression", puis en cliquant sur ok, message d'erreur "400".

Si tu es sous MAC, dans l'instruction Export, il faut remplacer le \ par :

Pour Harissa,

Il n'y a pas un outil de capture d'écran (comme inclue dans W7 ?) c'est pratique !,

Si vous parlez de cpature écran sous MAC, il suffit de combiner les touches POMME + SHIFT + F3 ou F4 pour avoir une capture écran au format PNG par défaut (on peut choisir le JPG dans les préférences). Avec F4, vous choisissez la plage avec F3 c'est l'écran complet.

Crdlt

Bonjour,

je vois l'apparition à l'écran de l'impression d'écran mais en suite elle disparait... Savez-vous où elle est ensuite stockée ou enregistrée car je ne parviens pas à la trouver ... ? :/

Dans le dossier que tu auras défini ici :

    chemin = "H:\Images\"

Tu remplaces par le chemin du dossier où tu veux récupérer l'image.

Si sous MAC, l'écrire sous la forme adéquate car là c'est un chemin sous Windows...

Cordialement.

Merci pour vos aides, je comprends bien la procédure, mais je ne parviens à écrire correctement le chemin pour attendre le dossier d'enregistrement en question.

je mets :

chemin = "/Users/XXXXX/Documents/" => Mais j'obtiens le message : autorisation refusée (et l'impression écran s'affiche sur la page).

chemin = ":Users:XXXXX:Documents:" => PAs de message d'erreur, l'impression écran disparait mais rien le jpeg ne s'enregistre pas.

chemin = "/Users:XXXXX:Documents/" => idem

Je cherche pour trouver la bonne écriture mais je n'ai toujours pas trouvé...

Si quelqu'un possédant un Mac sait comment écrire ce chemin ...

Merci


(Dan merci pour le raccourci MAC impression écran, mais je souhaiterai automatiser ce geste pour chaque onglet de mon classeur...)

re

si tu ne lis pas ce que j'écris, tu vas pas y arriver....

Si tu es sous MAC, dans l'instruction Export, il faut remplacer le \ par :

Le code que je t'ai proposé enregistre ta vue écran en format PDF et ce dans le répertoire où se trouve ton fichier

Reste à savoir si tu accepte du PDF ou si tu veux absolument du jpeg

Quel est le but d'avoir le fichier au format Jpeg ??

Crdlt

Bonjour Dan,

Merci pour ton aide.

J'ai bien suivi tes instructions, mais je reçois toujours le message d'erreur 400. Alors qu'avec la macro de Mferrand je n'ai pas de message d'erreur (mais je ne parviens pas à enregistrer l'impression écran dans mon dossier).

Voici la macro adaptée (je pense) à mac :

Sub test()

Dim dlg As Byte

With ActiveSheet

dlg = .Range("B" & .Rows.Count).End(xlUp).Row

.PageSetup.PrintArea = .Range("$B$3:$N$" & dlg)

'.PageSetup.PrintArea = .Range("$B$3:$N&16")

.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & ":" & "nom du fichier"

End With

End Sub

j'ai bien changé le \ par : . Et j'ai toujours le message d'erreur 400...

Oui j'ai besoin que le format soit en jpeg ou png car je me sert de ces impressions d'écran dans ce format pour qu'elles passent dans un dossier pour FLICKR qui passe dans l'apple tv (format pdf pas acceptées).

En attendant de te lire, merci par avance ...

re

Je ne peux pas tester sous MAC avant ce soir. En attendant essaie ceci :

  • Mets ton fichier excel sur le bureau
  • en debut de code, place cette instruction et dis moi exactement ce qu'elle te renvoie comme message
msgbox thisworkbook.path

Cela devrait te donne un truc du genre Macintosh HD ....

Crdlt

Bonjour Dan,

voici le message box qui apparait :

/Users/dm83/Desktop

en laissant "/" ou ":" j'ai toujours le message erreur : 400, et aucun fichier n'apparait sur le bureau.

Sur le code de Mferrand,

si je mets alors en chemin d'accès :

chemin = "/Users/dm83/Desktop" => message : Erreur d'accès Chemin/Fichier

et si chemin = "/Users/dm83/Desktop/" => idem message : Erreur d'accès Chemin/Fichier

si je mets :

chemin = ":Users:dm83:Desktop:" => aucun message d'erreur mais rien ne s'affiche sur le bureau

chemin = ":Users:dm83:Desktop" => aucun message d'erreur mais rie ne s'affiche sur le bureau

Merci encore pour ton aide.

Cordialement

re

C'est assez incompréhensible de que le message te renvoie car :

  • Sous MAC le répertoire est défini avec ":"
  • Sous Windows le répertoire est défini avec "\" et non des "/" comme tu le mentionnes

Donc si le code de mferrand fonctionne tu devrais essayer avec ceci dans l'instruction chemin : --> chemin = ":Users:dm83:Desktop"

Crdlt

Effectivement ... !

C'est une énigme ...

Cdlt

re

Par hasard tu ne serais pas sur terminal serveur ? ou sur un serveur entreprise ?

Bonjour Dan, je ne suis pas sur d'avoir compris ta question ... Comment je peux savoir si je suis sur "terminal serveur"? Ou autre chose ?

Je pense que tu ne fais pas référence à mon réseau de wifi ?

re

Comment je peux savoir si je suis sur "terminal serveur"?

Savoir si tu travailles sur un MAC qui est placé en réseau (donc avec d'autres utilisateurs ou ordinateurs) ou non. Donc ma question n'a rien avoir au réseau wifi.

Autre question qui me vient à l'idée, est-ce que tu utilises excel windows sous MAC ou excel MAC

Rechercher des sujets similaires à "macro impression ecran zone selection"