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

Macros et VBA Excel Discussion :

Chargement d'images de fond sur feuille Excel avec champs de saisie. [XL-2000]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 406
    Par défaut Chargement d'images de fond sur feuille Excel avec champs de saisie.
    Bonjour à tous

    J'ai besoin de charger par VBA dans une feuille Excel une image de fond qui contiendrait des zones de saisie.
    Cette image pourrait être dans un autre classeur.
    J'ai essayé par une copy globale de la feuille: l'image est bien copiée mais pas les champs de saisie.
    Est-ce possible de faire cela ?
    Si quelqu'un a une idée, merci de bien vouloir m'aider.

    Michel

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Je ne comprends pas trop ce que tu entends par "image de fond qui contiendrait des zones de saisie". Essaie avec l'enregistreur de macros.

  3. #3
    Membre éclairé
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 406
    Par défaut
    C'est une image qui a été chargée par l'utilitaire de dessin dans laquelle il y a des zones de saisie.

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    Bonjour, bonjour !

    Une image n'est pas un formulaire, elle ne peut donc contenir une zone effective de saisie !

    C'est comme appuyer sur le bouton d'une sonnette en photo, jamais elle ne sonnera …

  5. #5
    Membre éclairé
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 406
    Par défaut
    Bonjour Marc-L

    Merci pour votre réponse mais j'ai bien une image dans laquelle il y a des zones de saisie. Une d'entre-elles s'appelle "DateJour" et par programme j'y charge la date du jour.
    En suivant les conseils de Daniel-C, j'ai utilisé l'enregistreur de macro et j'ai trouvé l'instruction suivante:
    Shapes.Range(Array("DateJour","Nom","Groupe1").copy
    Je vais essayé de l'intégrer dans mon programme.

    Salutations
    Michel

    Je reviens vers vous car je n'arrive pas à trouver la bonne syntaxe
    J'ai écrit ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Dim Fic As Object
        Set Fic = GetObject(RepMasks & "MMenuMasques.xls")
          Fic.Sheets(NomPage).Shapes.Range(Array("Masque1", "Dat", "Nom", "Sem")).Copy Destination:=Sheets(NomPage).Range("A1") <<< = 'ERREUR ICI 
        Fic.Close
        Set Fic = Nothing
    et j'ai une erreur d'exécution 438 "Propriété ou méthode non gérée par cet objet"

    Quelqu'un connaîtrait-il la bonne syntaxe ?
    Merci
    Michel

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Tu copies trois formes (pas une image) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Fic.Sheets(NomPage).Shapes.Range(Array("Masque1", "Dat", "Nom", "Sem")).Select
    Selection.Copy
    Range("A1").Select
    Sheets(NomPage).Paste

  7. #7
    Membre éclairé
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 406
    Par défaut
    Merci pour cet aide.
    Malheureusement, bien que le programme ne se plante plus, rien n'apparaît sur la feuille. Je ne comprends pas!
    Alors, je viens de trouver une solution qui fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim Fic As Object
     Dim sh As Shape 
     Fic = GetObject(RepMasks & FicMaskPere)
     For Each sh In Fic.Sheets(MaskPere).Shapes
          sh.Copy
          Sheets(NomPage).Paste 
     Next .sh 
     Fic.Close 
     Set Fic = Nothing
    C'est moins élégant mais cela solutionne mon problème.
    Si vous avez une idée pourquoi les "shapes" ne se recopient pas avec votre syntaxe ?
    Merci encore.
    Michel

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Ca fonctionne avec Excel 2013. Sans ddoute une différence de version.

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

Discussions similaires

  1. [XL-2013] Suppression d' image sur feuille excel par macro
    Par GROBIN dans le forum Excel
    Réponses: 3
    Dernier message: 16/11/2013, 23h07
  2. position des images sur feuille excel
    Par PATHAB dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/02/2008, 11h03
  3. Commandbutton sur feuille Excel
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 24/11/2005, 16h17
  4. [ExcelML] Style sur feuille excel
    Par htristra dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 23/11/2005, 16h31
  5. Trouver doublons sur feuille excel
    Par taku dans le forum Langage
    Réponses: 6
    Dernier message: 27/09/2005, 11h14

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