Insérer un logo dans un shape

Bonjour a tous , forum bonjour,

J'arrive a bien afficher 3 shapes dans la "Feuil1"

(1) pour afficher un message

(2) pour afficher un décompte (timer)

(3) pour afficher un logo

Tout fonctionne mais je n'arrive pas a insérer le logo dans le shape Vert a l'écran

Je souhaiterai svp qu'il s'affiche en même temps que les shapes MAIS aussi qu'il s'efface

également en même temps.

Sans avoir besoin d'aller chercher l'image du logo dans un répertoire de mon D-D.

Mis quelques explications dans le fichier ci-joint.

15infos.xlsm (70.65 Ko)

Merci a vous pour votre aide, bon W-end a tous.

Cdlt Ray

Bonjour,

Faites votre mise en page, puis au lieu de supprimer purement et simplement vos shapes, rendez les invisible ".visible = false"

Comme cela il n'est plus besoin de les créer, donc plus besoin de télécharger l'image.

@ bientôt

LouReeD

Votre fichier modifié :

13copie-de-infos.xlsm (80.69 Ko)

avec pas mal de code en commentaire !

@ bientôt

LouReeD

Salut loureed,

Merci pour la réponse, c'est cool surtout les commentaires

ça a l'air de fonctionner, sauf que le logo est a la grandeur du shape Vert a l'ouverture du fichier puis au bout d'un

instant celui ci diminue.

Si je veux mettre en couleur ou autre ??? du coup, je comprends plus rien au code, déjà il m'a fallu 5 jours pour arriver

a faire le code.

Mais si tu a un code plus simple je suis preneur.

Je voulais juste l'affichage des shapes et du logo et effacement compris, sans avoir a charger a chaque fois le logo.

Merci et bonne journée a toi.

Cdlt Ray

Il suffit de supprimer tous le code en commentaire...

@ bientôt

LouReeD

Voici le fichier nettoyé :

19copie-de-infos.xlsm (74.91 Ko)

@ bientôt

LouReeD

Re,

Bon, nos messages se sont croisés.

Ton dernier code fonctionne, ok merci mais ca m'arrange pas car si je veux apporter un peu de couleurs ou autres

je fais comment ???

Merci pour le code quand, c'est vrai nettement plus que le mien.

Bonne après midi a toi

Cdlt Ray

Cette instruction cible l'ensemble des shape et image :

ActiveSheet.Shapes.Range(Array("Image 1", "Chrono", "Mess1", "Photo"))

il suffit pour changer une couleur sur un seul des shapes par exemple Chrono, mettre :

ActiveSheet.Shapes.Range(Array("Chrono"))

avec la suite de l'instruction qui va bien en fonction de ce que vous voulez faire...

@ bientôt

LouReeD

Re loureed

Merci pour la réponse

J'ai essayer les deux codes ci-dessous et ça me génère l'erreur 400

On ne peux pas utiliser un "With" ça éviterai les répétitions et c'est plus simple

ActiveSheet.Shapes.Range(Array("Chrono")).ShapeRange.Fill.ForeColor.RGB = RGB(150, 150, 150)

ActiveSheet.Shapes.Range(Array("Chrono")).Font.Bold = True

Merci

Bonjour Eliot raymond, LouReeD,

J'ai pu voir que tu as bien avancé dans ton idée de message personnalisé.

Je te le retournes avec une petite modification selon ta dernière remarque d'insertion d'un logo.

J'ai laissé ton code tel quel si tu avais besoin d'utiliser plusieurs logos selon des tailles de formes différentes...

Voir commentaires (petits) format ******

Bons tests, bonne continuation.

6infoseliot.xlsm (72.39 Ko)

Salut XCellus,

Merci beaucoup pour la modification,

Voila c'est comme ça que je souhaitai que ça fonctionne.

Juste un détail, svp, tu peux m'expliquer comment tu a procéder pour le logo

et toujours le logo comment je peux le mettre de façon qu'il remplisse le shape vert ou même

si il y a une petite bordure c'est pas grave.

une fois compris comment ça marche je vais essayer d'améliorer le code.

En tout cas merci, c'est sympa a toi.

Cdlt Ray

A nouveau,

Le code mis sous le commentaire **** cible l'image nommée Logo. Le nom pourrait être remplacé par une variable String.

Ainsi on peut choisir un logo parmi d'autres pour être affiché dans le message. Il suffit comme tu l'as fait pour la hauteur, largeur...

indiquait à la variable le nom du logo souhaité.

Ensuite cet image est rendu visible. Cela ne change rien si elle est déjà visible mais au cas ou elle est invisible elle s'affiche.

La position de l'image (Left + Top) est basée sur les positions de la forme ajoutée avec un décalage de 10 pour Left et 25 pour Top.

Pour que le logo soit de même grandeur que la forme. Tu peux soit dès le départ l'agrandir selon la taille de la forme prévue. Ce qui est le plus facile. Soit le faire ensuite, par le code. Mais il faut remanier le code pour cela.

Enfin par ZOrder il est placé devant la forme ajoutée par la propriété msoBringtoFront.

Dans la zone Krono, le logo n'est pas effacé. Il est rendu invisible par False.

Bien sur tu peux changer la couleur de ta forme en fonction de l'image logo a y insérer.

Voilà.

Re XCellus,

Merci, beaucoup pour toutes ces infos, ça va m'être bien utile.

Maintenant que j'y voir plus clair, je devrai en faire bonne usage

Un bien grand merci a toi, bonne fin d'après midi.

Merci également a toi Loureed

Bon, W-end a vous deux et encore merci de votre savoir partagé.

Bien cordialement Ray

A nouveau,

Voici le code qui permet d'adapter le logo à la forme.

A +

13infoseliotbis.xlsm (72.64 Ko)

Re XCellus,

Merci pour la petite retouche du logo, c'est sympa a toi.

Je vais marcher mes neurones maintenant enfin celles qui ne sont pas encore grillées.

A bientôt, bye bye

Cdlt Ray

A nouveau,

Voici la modification sur ton récent fichier.

Voir commentaires **** en majuscule dans le code VBA.

Bons tests, bonne continuation.

7infos-01-ter.xlsm (83.30 Ko)

Salut Xcellus,

Merci pour le retour du fichier modifier

J'ai adapter remodeler et c'est bon a un soucis près dans le code ci dessous

dans le "WITH" que puis-je mettre a la place de sélection, sachant que j'utilise souvent "FONT"

ce qui éviterai de mettre des Font a chaque ligne.

Merci pour ton aide, je te souhaite une excellente jourée.

Cdlt Raymond

 
           With Selection
                   .Font.ColorIndex = 3                                    '<-- Couleur du texte Font
                   .Font.Size = 14                                            '<-- Taille police de caractères
                   .Font.Bold = True
            End With
 

Bonjour Eliot Raymond,

Tu fais appel à trois propriétés différentes de Font.

Donc c'est normal que Font soit répétée.

Une solution alternative est qu'une cellule de la feuille. Par exemple Z1 soit formatée selon les trois propriétés de Font que tu utilises et que tu récupère alors son format.

Tel que tu le ferais avec l'outil pinceau.

À suivre...

Re X Cellus,

Merci pour cette info, j'avais essayer plusieurs possibilité et chercher sur le net, mais je comprends

maintenant pourquoi, je n'ai rien trouver de code sur le sujet.

Bon, ça fonctionne bien, je sais modifier a peut près tout.

Si besoin, ça fera l'objet d'une nouvelle demande

Bonne continuation a toi, merci pour ton aide et ton savoir partagé.

Excellente journée a toi.

Bien cordialement Raymond

Pareillement,

Bonne journée ensoleillée à toi.

C'est toujours mieux que le contraire. Même confiné.

Rechercher des sujets similaires à "inserer logo shape"