IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Mettre une Image d'une sélection de range dans un controle image d'un userform [XL-2007]


Sujet :

Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 143
    Points : 106
    Points
    106
    Par défaut Mettre une Image d'une sélection de range dans un controle image d'un userform
    Bonjour,

    Je reviens vous voir pour un nouveau problème.
    Je n'ai pas encore manipulé les contrôles image dans un userform.

    Je souhaite sélectionnée un ensemble de cellules dans une feuille par utilisation de copy.
    Cela copiera le contenu et la mise en forme de cellules (données +1 image) sur la feuille dans le classeur.

    Cette copie devrait être collé dans mon contrôle image de mon userform.
    De cette manière je laisse la possibilité de modifier les données de mes cellules dans la feuille, et je peux afficher son contenu pour aide à la saisie dans l'userform ouvert.

    je commencerai mon code ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    option explicit
     
    sub essai
    load saisi
    sheets ("aide").activate
    sheets("aide").range("a1:d52").copy
     
    saisi.image..... ?????
    Il me faut insérer le contenu de ma copie dans l'image. Comment puis je faire ?

    J'ai trouvé le tuto de toulon mais il me semble compliqué pour se que je veux faire !!
    Y a t'il une solution simple ?

    Merci pour votre aide

  2. #2
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 143
    Points : 106
    Points
    106
    Par défaut Pas de solution ?
    Bonsoir,

    Je remonte 1 dernière fois ce sujet pour vérifier si personne n'a de solutions ??

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par chrisaccess Voir le message
    Je souhaite sélectionnée un ensemble de cellules dans une feuille par utilisation de copy.
    Cela copiera le contenu et la mise en forme de cellules (données +1 image) sur la feuille dans le classeur.
    Les images ne font pas partie du contenu des cellules. Elles sont juste placées éventuellement au même endroit sur une feuille de calcul mais il n'y a pas de rapport direct entre les deux.
    Une image dans un onglet n'appartient pas à l'objet Range mais à l'objet Worksheet.
    Donc, on ne peut pas copier une image avec une cellule, même si, en apparence, elle semble être dedans.

    L'image doit être copiée en tant qu'objet Spape.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("MaFeuille").Shapes("MonImage").Copy
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 143
    Points : 106
    Points
    106
    Par défaut Bien compris, une solution peut être
    Bonjour,

    Merci Menhir pour ton explication.
    Donc je pars pas du bon pied avec copy.

    Après réflexion j'ai peut être une solution : l'aperçu avant impression.
    Se n'est pas prévu pour cela, mais mon but est d'affiché une image d'une feuille excel sans la modifié.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    option explicit
     
    sub essai
    load saisi
    sheets ("aide").activate
    Sheets("aide").PrintPreview
    end sub
    Elle réponds à ma demande mais pas facile à manier !!!
    Qu'en penses tu ?
    Penses tu à une autre solution ?

    au plaisir de te relire

    merci pour ton aide

  5. #5
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par chrisaccess Voir le message
    Après réflexion j'ai peut être une solution : l'aperçu avant impression.
    Je ne vois pas trop comment tu vas pouvoir transformer cet aperçu en image.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sub essai
    load saisi
    sheets ("aide").activate
    Sheets("aide").PrintPreview
    end sub
    Ta ligne Activate est inutile.

    Penses tu à une autre solution ?
    La méthode CopyPicture de l'objet Range.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  6. #6
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    bien qu'une image ne soit pas "dans une cellule" mais posée au dessus de la plage, on peut détecter sa position comme les formes basiques

    En effet, les shapes disposent de propriétés telles que TopLeftCell (elle donne la cellule la plus en haut à gauche de l'image) et BottomRightCell (cellule la plus en bas à droite)

    On boucle sur les Shapes de la feuille pour trouver celles qui sont positionnées au dessus de ta plage afin de les copier

    Exemple pour la détection

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub toto()
    Dim Forme As Shape
    Dim Plage As Range
        With Sheets("aide")
            Set Plage = .Range("a1:d52")
            For Each Forme In .Shapes
                If Not Intersect(.Range(Forme.TopLeftCell, Forme.BottomRightCell), Plage) Is Nothing Then MsgBox Forme.Name & " dans la plage"
            Next Forme
        End With
    End Sub

  7. #7
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 143
    Points : 106
    Points
    106
    Par défaut on ne sait pas bien compris
    Bonjour messieurs,

    Encore merci pour votre aide.

    Mon but est d'afficher dans un userform appelé "aide" le contenu d'une feuille excel tel quel est sur la feuille.

    Je crois que se sera plus facile si je vous fournit la feuille :
    aide.xlsx

    Je souhaite garder la mise en forme, les couleurs, le contenu, les 2 images ... tel qu'ils sont.
    Je garde la feuille pour pouvoir procéder aux modifications dont j'aurais besoin, et donc je ne peux pas créer une image sauvegarder de cette feuille car il faut refaire l'image à chaque modif.

    Le but est que lorsque l'utilisateur recherche le numéro itst ou ips à saisir, il clique sur un bouton "aide" du formulaire "saisi" afin d'afficher dans un userform "aide" une image de la feuille excel. Un bouton Ok fermera l'userform aide pour le ramener à l'userform de saisi. en résumé une info lors de la saisi

    La solution de aperçu avant impression me donne une vue de cette feuille mais je reconnaît pas très sympatique pour une aide à la saisie.

    Merci pour votre aide

  8. #8
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Est-ce que tu as lu mon message #5 ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  9. #9
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 143
    Points : 106
    Points
    106
    Par défaut UNE NOUVELLE SOLUTION
    Bonsoir,

    Merci Menhir pour ton aide,

    J'ai regardé la méthode CopyPicture de l'objet Range qui réponds à ma besoin pour le copier.

    Maintenant il me reste plus qu'à le coller dans l'image de l'userform.
    Par contre après quelques recherches il apparaît que le coller dans l'image de l'userform semble pas possible sans d'abord le coller sur une feuille en tant qu'image.
    Avez vous une solution pour coller directement dans le formulaire ou dois je coller sur une feuille excel et appeler cet image de la feuille pour l'insérer dans mon formulaire?

    On avance,

    Merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  3. Réponses: 4
    Dernier message: 30/03/2012, 04h48
  4. [Toutes versions] Extraire une image d'une dll et la mettre dans un controle Image
    Par mkl238 dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/12/2010, 15h17
  5. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo