copier contenu d'une cellule dans boite dialogue

gfmout

XLDnaute Junior
Bonjour a tous,

J'utilise une macro pour l'insertion automatique de photos dans une cellule. (exemple en fichier joint page 1)

Chaque photo est enregistree dans un repertoire et porte comme nom le code EAN du produit.

le code EAN apparait egalement dans le fichier excel dans la premiere colonne.

Pour optimiser la macro je voudrais copier en memoire tampon le code EAN de la ligne selectionnee ou je souhaite inserer la photo et copier ce meme code dans le userform qui permet de selectionner la photo a inserer.

Je cherche et je n'arrive pas a trouver..


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

ligne = Selection.Row
Cells(ligne, 1).Select
ActiveCell.Copy

Application.Dialogs(xlDialogInsertPicture).Show


Selection.Paste


With Selection
.ShapeRange.LockAspectRatio = msoFalse
.Width = Target.Width - 3
.Height = Target.Height - 3
.Placement = 1
.PrintObject = True
End With

End Sub
 

Pièces jointes

  • Insertpict - Copy.xls
    125.5 KB · Affichages: 72

Fred0o

XLDnaute Barbatruc
Re : copier contenu d'une cellule dans boite dialogue

Bonjour gfmout,

En utilisant SendKeys, tu peux t'en sortir honorablement. C'est ce que j'ai fait dans cette Sub. En plus, j'ai géré le cas où tu appuie sur "Annuler".
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    ligne = Selection.Row
    SendKeys Cells(ligne, 1)
    If Application.Dialogs(xlDialogInsertPicture).Show Then
        With Selection
            .ShapeRange.LockAspectRatio = msoFalse
            .Width = Target.Width - 3
            .Height = Target.Height - 3
            .Placement = 1
            .PrintObject = True
        End With
    End If
End Sub

A+
 

gfmout

XLDnaute Junior
Re : copier contenu d'une cellule dans boite dialogue

Bonjour Fredoo,

Merci pour tes lumieres.
Sur mon fichier ca ne marche pas tout le temps? En fait c'est aleatoire...
Un coups ca ne copie rien du code EAN
Le coups suivant juste les 3 derniers chiffre
Le coups suivant 5 chiffres?

As tu une idee de la raison?
Ci joint les copies d'ecran

Merci d'avance

Gilles
 

Pièces jointes

  • macro.jpg
    macro.jpg
    41.3 KB · Affichages: 89
  • macro2.jpg
    macro2.jpg
    45.5 KB · Affichages: 79
  • macro.jpg
    macro.jpg
    41.3 KB · Affichages: 83
  • macro.jpg
    macro.jpg
    41.3 KB · Affichages: 93

Fred0o

XLDnaute Barbatruc
Re : copier contenu d'une cellule dans boite dialogue

Re-bonjour gfmout,

Je ne comprends pas bien pourquoi ça ne marche pas à tous les coups chez toi. Je viens de retster et pas de pb. Peut-être as-tu une UC surchargée qui te fais perdre du temps. De ce fait, comme SendKeys simule la frappe de touches au clavier, les touches se perdent-elles avant que la DialogBox ne soit ouverte...

A+
 

gfmout

XLDnaute Junior
Re : copier contenu d'une cellule dans boite dialogue

Hello Fredoo,
Ca doit etre un truc de ce genre la..
N'y a t 'il pas moyen de faire just un copier coller du code ?
Parce que pour le coups ca ne marche vraiment qu'une fois sur 10...
Gilles
 

Fred0o

XLDnaute Barbatruc
Re : copier contenu d'une cellule dans boite dialogue

Re-bonjour,

Désolé, je ne vois pas d'autre méthode. Le copier / coller ne fonctionne pas car Dialogs(xxx).Show ne laisse pas la main pour coller.

Peut-être quelqu'un d'autre aura une autre idée. Chez moi, la méthode SendKeys a 100% de réussite !

A+
 

gfmout

XLDnaute Junior
Re : copier contenu d'une cellule dans boite dialogue

Hello,
Merci j'espere que quelque'un aura une solution. pour moi c'est loin de 100%
Au niveau de la Dialogsbox si je copie le code EAN depuis la barre de formule une fois la cellule selectionnee et non depuis la cellule directement, j'arrive a coller ensuite dans la dialog box.
Connais tu le code d'acces de la barre de formule? active.cell?
Meci encore pour ton aide
Gilles
 

Discussions similaires

Réponses
39
Affichages
5 K

Statistiques des forums

Discussions
314 488
Messages
2 110 132
Membres
110 679
dernier inscrit
lpierr