Donner nom a image pour faciliter la manipulation sur macro

casamartin

XLDnaute Junior
Bonjour à tous,

Un petit souci pour copier coller par macro des images qui portent un nom automatique qui quelques fois passent par exemple de "Image 16" à "Image 15".
Ce programme unique est prévu pour 3 sociétés du même groupe avec des logos différents pour les impresssions de documents et plans destinés à la clientèle, seul le logo du groupe reste.
Dans la feuille menu du programme il y a 3 boutons pour que l'opérateur choisisse la société.
Actuellement j'ai résolu le problème en enlevant avec une routine l'ensemble des logos et recopie un par un dans 9 classeurs comportant chacun 4 feuilles d'impression.

Comment nommer l'image d'une manière fixe pour éviter les arrêts macro.

J'ai vainement chercher sur d'autres discussions, je n'ai rien trouvé.

Merci d'avance.
 

Softmama

XLDnaute Accro
Re : Donner nom a image pour faciliter la manipulation sur macro

A un endroit de ta macro, tu réalises la copie de ton image apparemment.Si c'est le cas, il te suffit de faire :

VB:
Activesheet.paste 'Colle l'image copiée
Selection.Name = "Casamartin"  'et lui donne le nom casamartin

Ensuite pour la manipuler, tu peux faire ceci : (pour la détruire par exemple)
VB:
ActiveSheet.Shapes("Casamartin").Delete
 
Dernière édition:

casamartin

XLDnaute Junior
Re : Donner nom a image pour faciliter la manipulation sur macro

Salut Softmama,

Je me suis peut-être trop ou mal exprimé,
je n'ai besoin que de ceci:

Comment affecter un nom à une image dans Excel.
Excel oublie son nom d'origine "Logo.jpg" quand on la copie, et dans les propriétés de l'image, le texte de remplacement on n'inscrit que des mots clés de recherche sur Web.

Comment la rebaptiser "Logo Société"
 

MJ13

XLDnaute Barbatruc
Re : Donner nom a image pour faciliter la manipulation sur macro

Bonjour Casmartin, Softmama

Tu peux nommer une image en connaissant sa position (pas toujours facile) avec ce code:

Ou en sélectionnant une image tu doit pouvoir lui atribuer le nom que tu veux.

Code:
ActiveSheet.Pictures(1).Name = "logo1"

Sinon, il nous faudrait un exemple de fichier :confused:
 

Softmama

XLDnaute Accro
Re : Donner nom a image pour faciliter la manipulation sur macro

Bonjour,

Je me suis peut-être mal exprimé :)
J'ai voulu dire ceci :
Si ton logo que tu veux nommer est en feuil1, et qu'il n'y a qu'une image, tu peux faire ainsi :
VB:
SHeets("Feuil1").Shapes(1).Name = "CestmoiQuejechoisisLeNom"

s'il y a plusieurs images et que celle que tu veux nommer se trouve sur une cellule précise ($E$4 dans mon exemple), tu peux boucler sur les images jusqu'à trouver celle qui est au bon endroit et la renommer ainsi :
VB:
Dim sh As Shape
For Each sh In ActiveSheet.Shapes
  If sh.TopLeftCell.Address = "$E$12" Then sh.Name = "Youhou"
Next sh

tu ne mets pas d'exemple concret, aussi est-on obligé de te répondre de façon un peu générale avec des si... ou si...
 

casamartin

XLDnaute Junior
Re : Donner nom a image pour faciliter la manipulation sur macro

Rebonjour,

J'ai fait un essai sur un classeur vierge dont le code ci-joint, ça ne fonctionne pas, j'ai du faire une ânerie quelque part

Sub logo1()
'
'Copie logo société'

'Sélection du logo
Windows("classeur1").Activate
Sheets("feuil1").Select
Dim sh As Shapes
For Each sh In ActiveSheet.Shape
If sh.TopLeftCell.Address = "J3" Then sh.Name = "Logo1"
Next sh
ActiveSheet.Shape("Logo1").Select
Selection.Copy
'Copie logo
Sheets("feuil2").Select
Range("B2").Select
ActiveSheet.Paste
Sheets("feuil3").Select
Range("B2").Select
ActiveSheet.Paste
End Sub

Merci de m'éclairer.
 

Victor21

XLDnaute Barbatruc
Re : Donner nom a image pour faciliter la manipulation sur macro

Bonsoir.

Pour nommer une image manuellement (s'il n'y en a qu'une quinzaine, pas besoin de macro) :
Sélectionne ton image, clique dans la zone Nom (Rectangle au-dessus de la colonne A), et tape le nom de ton choix.
 

casamartin

XLDnaute Junior
Re : Donner nom a image pour faciliter la manipulation sur macro

Bonjour Patrick,
Les commerciaux sur la route, qui utilisent ce programme unique de devis, travaillent pour 3 sociétés et ils doivent éditer les documents en fonction de la société qui fournira, je ne les vois pas copier coller sur un certain nombre de feuille le logo et les coordonnées de la société , de plus le programme est protégé, que de temps perdu..
J'ai bien essayé de copier le champs qui prends en compte l'image, ça marche mais comme les cellules n'ont pas les mêmes dimensions, le logo est comprimé et il faut le redimensionner.

Cordialement.
 

casamartin

XLDnaute Junior
Re : Donner nom a image pour faciliter la manipulation sur macro

Je te remercie Patrick grâce à toi, je m'en suis sorti, je n'avais plus qu'à changer les noms dans mes macros

Qu'entends tu par modèle , je suppose que tu parles d'un fichier modèle comme sous word.doc

Par contre un autre petit souci.
Si je clique 2 fois sur l'installation des logos, le 2ème logo couvre le premier, si je clique une 3 ème fois, il est décalé par rapport aux autres, je suppose que la cellule ne peut accepter que 2 images en affectation. Dans ce cas il vaut peut être mieux pour l'opérateur de quitter le programme et de le recharger, à moins qu'il y est une solution pour la juxtaposer avec les autres.
 

casamartin

XLDnaute Junior
Re : Donner nom a image pour faciliter la manipulation sur macro

Manuellement il est possible de mettre en arrière plan le bouton d'une autre couleur de suppression des logos , la première macro place les logos et mets en arrière plan le bouton et fait aparaitre le bouton de suppression des logos, et inversement.


La question est donc, comment manipuler ces boutons par macro, la création automatique de macro ignore cette manipulation.
 

casamartin

XLDnaute Junior
Re : Donner nom a image pour faciliter la manipulation sur macro

Merci Patrick, j'ai réussi à tout faire, la mise en arrière plan un bouton de commande pour faire apparaitre un autre bouton de commande pour effacement des logos.ça fonctionne trés bien.
Je prends note de l'adresse pour la manipulation des images, c'est trés complet.
Encore merci.

Salutations.
casamartin
 

Statistiques des forums

Discussions
312 839
Messages
2 092 695
Membres
105 511
dernier inscrit
karimdauphins