Donner à la feuille le nom d'une cellule et insertion d'une image automatiquement

FredB62

XLDnaute Nouveau
Bonsoir
Je suis confronté à deux "problèmes"
1) Est-il possible de donner à une feuille de classeur le nom que je tape dans une cellule de cette même feuille ?

J'ai trouvé pour faire l'inverse, donner à la cellule le nom de la feuille, mais moi j'aimerai le contraire


2) J'expose la chose :
j'ai un dossier, dans ce dossier un fichier excel et un autre dossier nommé "Photos"
Dans ce dernier, des photos avec des noms du genre "2500a", "2500b", "2500c", "2500d", "2600a", "2600b", etc..
Est ce qu'il est possible lorsque dans une cellule d'une feuille du classeur :)D) je tape un des noms de photos (exemple : "2500d") la photos du même nom s'insère dans une autre cellule (celle d'à côté par exemple) ?

Merci de vos réponses et de votre patience ;)
Fred
 

skoobi

XLDnaute Barbatruc
Re : Donner à la feuille le nom d'une cellule et insertion d'une image automatiquemen

Bonsoir,
pour la 1ere question:
ActiveSheet.Name = Activecell.Value

pour la 2e:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Offset(0, 1).Select
ActiveSheet.Pictures.Insert ("C:\Photos\" & Target.Value & ".jpg")
End Sub
Par exemple.
Macro à mettre dans le code de la feuille.
 

FredB62

XLDnaute Nouveau
Re : Donner à la feuille le nom d'une cellule et insertion d'une image automatiquemen

Re
Merci de ta réponse ;)

J'suis complètement novice :(
Tu ne pourrais pas expliquer un peu plus la chose (aussi bien le 1 que le 2)
Comment faire pour l'appliquer à telle ou telle cellule précisément ?
Sachant que les deux trucs sont dans la même feuille

pour la 2 j'ai cette erreur :
Erreur d'exécution '1004':
La méthode Insert de la classe Pictures à échoué.
 

skoobi

XLDnaute Barbatruc
Re : Donner à la feuille le nom d'une cellule et insertion d'une image automatiquemen

Re bonsoir,
pour le 1: le nom de la feuille est égale à la valeure de la cellule active quand tu executes la macro.
pour le 2: il faut que tu mettes le code dans le code de la feuille c'est à dire:
tu cliques droit sur l'onglet de la feuille puis visualiser le code et tu colles le code dans la fenêtre de droite.
C'est une macro évenementielle càd que quand tu as renseigné le nom du fichier image, il insert l'image dans la cellule ce trouvant juste à coté, attention, l'extension .jpg dans le code est un exemple et à remplacer donc par ce que tu as: .bmp ou autre
 
Dernière édition:

FredB62

XLDnaute Nouveau
Re : Donner à la feuille le nom d'une cellule et insertion d'une image automatiquemen

Re ;)
Le truc de la photo c'est bon, par contre y a t'il la possibilité de choisir l'emplacement ou elle s'insère ?
Par exemple, je tape son nom en J6 et la photo s'insère en B3, et si possible avec une taille de mon choix.
Mais si je tape ce même nom en J7, il ne faut pas que la photo s'insère
Et aussi, ces fichiers se baladant de clé USB en disques dur et tout, comment faire pour que la macro fonctionne toujours, vu que d'après ce que je peux voir, il faut spécifier un emplacement ?

Je joins un fichier, ça sera peut être plus clair
désolé du dérangement, mais j'ai du mal avec tout ça, je n'ai aucune bases... :(
 

Pièces jointes

  • essais01.xls
    21.5 KB · Affichages: 86

skoobi

XLDnaute Barbatruc
Re : Donner à la feuille le nom d'une cellule et insertion d'une image automatiquemen

re,
regarde si ça te convient.
J'ai enlevé les fusions de cellule (VBA n'aime pas) et aussi déplacé l'emplacement du nom.
Tu ne peux pas changer d'emplacement, il faut toujours que tes photos soient dans le chemin que tu spécifies dans la macro:

ActiveSheet.Pictures.Insert ("C:\Photos\" & Target.Value & ".jpg")

Edit: j'ai fais quelques corrections
 

Pièces jointes

  • Donner A la feuille le nom d'une cellule et insertion d'une image v2.xls
    42.5 KB · Affichages: 122
Dernière édition:

FredB62

XLDnaute Nouveau
Re : Donner à la feuille le nom d'une cellule et insertion d'une image automatiquemen

Bonsoir
Merci de me donner de ton temps, c'est super sympa

Oui la V2 marche mieux :D
Par contre ça me demande à chaque fois "Indiquez l'emplacement de la photo", je peux clique sur n'importe quelle cellule, il m'insère la photo toujours au même endroit
Il m'ajoute aussi la valeur entrée dans des cellules de mon tableau


Et pour le nom de la feuille ? :D
 

skoobi

XLDnaute Barbatruc
Re : Donner à la feuille le nom d'une cellule et insertion d'une image automatiquemen

Re bonjour,
je peux clique sur n'importe quelle cellule, il m'insère la photo toujours au même endroit

bizzard, as-tu modifié qqchse?
Il m'ajoute aussi la valeur entrée dans des cellules de mon tableauJ'en ai pris l'initiative. C'est enlevé.
Et pour le nom de la feuille ?
Est-ce que tu aura une feuille pour une ou plusieurs photos?
Quel nom veux-tu donner à la feuille dans ce cas?
Sois plus précis.
Actuellement la feuille aura le nom de la photo (cellule F3).
A te relire
 

Pièces jointes

  • Donner A la feuille le nom d'une cellule et insertion d'une image v3.xls
    42.5 KB · Affichages: 83

FredB62

XLDnaute Nouveau
Re : Donner à la feuille le nom d'une cellule et insertion d'une image automatiquemen

Bonsoir ;)

bizzard, as-tu modifié qqchse?
Non, je n'ai rien modifié si ce n'est que le c:\photo en C:\Users\Fred\Desktop\Test_macro\foto\
sinon, on ne peut pas "simplifier" la chose en lui disant d'insérer la photo en A1 directement ?

C'est enlevé.
OK, merci

Actuellement la feuille aura le nom de la photo (cellule F3).
Oui, comme ça c'est parfait !
Si je comprend bien, tu as ajouté cette ligne (ci-dessous) à la fin de ta macro
ActiveSheet.Name = Target.Value

Merci pour tout
 

skoobi

XLDnaute Barbatruc
Re : Donner à la feuille le nom d'une cellule et insertion d'une image automatiquemen

Bonsoir ;)

sinon, on ne peut pas "simplifier" la chose en lui disant d'insérer la photo en A1 directement ?

Re,
Si mais dans ce cas les photos seront toujours en A1.
Remplace le code par celui-ci:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "" Or Target.Address <> Range("f3").Address Then Exit Sub
If ActiveSheet.Shapes.Count <> 0 Then
   For nb = 1 To ActiveSheet.Shapes.Count
      If ActiveSheet.Shapes(nb).Name = Range("f3").Value Then
         MsgBox "cette image est déjà insérée."
         Exit Sub
      End If
   Next
End If
On Error Resume Next
If Target.Address = Range("f3").Address Then
'   Set addresse = Application.InputBox("Indiquez l'emplacement de la photo", Type:=8)
'   If addresse Is Nothing Then Exit Sub
'   On Error GoTo 0
'   addresse.Select
    Range("a1").Select
   ActiveSheet.Pictures.Insert ("C:\Photos\" & Range("f3").Value & ".jpg")
   n = ActiveSheet.Shapes.Count
   ActiveSheet.Shapes(n).Height = 90
   ActiveSheet.Shapes(n).Name = Target.Value
   ActiveSheet.Name = Target.Value
End If
End Sub
 

FredB62

XLDnaute Nouveau
Re : Donner à la feuille le nom d'une cellule et insertion d'une image automatiquemen

Bonjour et bon week-end

est-il possible que le fait que je sois sur excel 2007 (en mode de compatibilité) fasse que la macro "m*rdouille" lors de l'insertion de la photo ?
j'ai toujours le même problème, elle ne se met pas en A1 :(
 

skoobi

XLDnaute Barbatruc
Re : Donner à la feuille le nom d'une cellule et insertion d'une image automatiquemen

Re,
Aie!!!
Là je ne peux plus rien pour toi car je n'ai pas excel 2007 désolé :(
Il faudrait que tu post sur le forum excel 2007.
Au fait tu dis que la photo ne s'insère pas en A1 mais où alors?
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 156
Messages
2 085 819
Membres
102 992
dernier inscrit
KOSTIC