Pave directionnel bloqué apres macro

Résolu
boomer11 -  
 boomer11 -
Bonjour,

Voilà mon problème :
J'ai créé un userform qui s'ouvre quand je double clique sur la cellule et il m'affiche une image correspondant à la référence de la cellule.
La raison pour laquelle j'utilise se code est que toutes mes images sont stockées sur une feuille du classeur. (je ne peux pas les mettre dans un fichier à part pour aller les chercher...).
Le code fonctionne très bien mais le seul souci qui arrive après exécution de la macro : le blocage du pavé directionnel. impossible de l'utiliser pour se déplacer d'une cellule à l'autre...

Private Sub UserForm_Initialize()
Dim ff
Me.Caption = ActiveCell.Value

Set ff = Sheets("PHOTO")
Set s = ff.Shapes(CStr(ActiveCell.Value))
s.CopyPicture
ff.ChartObjects.Add(0, 0, s.Width, s.Height).Chart.Paste
ff.ChartObjects(1).Chart.Export Filename:="monimage.jpg"
ff.Shapes(ff.Shapes.Count).Delete
Me.img.PictureSizeMode = fmPictureSizeModeZoom
Me.img.Picture = LoadPicture("monimage.jpg")
Kill "monimage.jpg"

End Sub

Une idée.....??? parce que là je rame.....
Merci


A voir également:

8 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

question bête:

As- tu mis la propriété ShowModal à False de ton UserForm?
0
boomer11
 
Bonjour,

Merci pour votre intérêt à la question.

Le Userform n'a pas la propriété ShowModal à False.
J'ai essayé les 2 cas, le problème reste le même.
C'est bizarre ... ne serait ce pas lié à la création d'un objet Chart ?
J'ai testé quand j'enlève le code, le Userform s'ouvre correctement (bien sur sans l'image), quand je le ferme, le pavé directionnel est toujours opérationnel. Je remet le code et là, ça ne fonctionne plus ???
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Voir ceci pour pouvoir travailler sur une feuille quand l'UserForm est présente:

https://silkyroad.developpez.com/VBA/UserForm/#LIII-A-2
0
boomer11
 
oui j'ai essayé les 2 modes, mais le problème ne vient pas de la navigation sur la feuille de calcul. Après la fermeture du userform, seul les touches flèche ne fonctionnent plus.
Si vous voulez un fichier exemple, n'hésitez pas !
merci
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Poster ici, je vois ce que ça donne chez moi:

https://www.cjoint.com/
0
boomer11
 
Exemple :

http://www.cjoint.com/c/EGzmaOuG7L3
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Le pave te sert à naviguer dans le combo pour faire défiler les images (haut et bas).
Si tu veux naviguer sur ta feuille, il faut cliquer sur le TextBox2 avant et cliquer sur ta feuille ensuite:

Affichage images internes dans un formulaire
TexBox2


Voilà
0
boomer11
 
Hm... après quand on ferme le userform et que l'on se met dans une cellule quelconque sur la feuille accueil, là on ne peut pas utiliser les flèches pour se déplacer sur la feuille.
Ce n'est pas dans le userform
Désolé, j'essaie de bien expliquer mais c'est pas évident.
pour info, ça le fait sur 2 postes différents qui ont office 2007 et 2013.
merci encore
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Il faut cliquer ici pour rétablir


Sinon il changer le code!!!!!
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Rectifier le code :

Dim f
Private Sub UserForm_Activate()
 Me.ComboBox1.ListIndex = 0 'affiche image à l'ouverture
End Sub
Private Sub UserForm_Initialize()
  Set f = Sheets("photos")
  For Each s In f.Shapes
    Me.ComboBox1.AddItem s.Name
  Next
End Sub
Private Sub ComboBox1_Change()
  Set s = f.Shapes(CStr(Me.ComboBox1))
  s.CopyPicture
  f.ChartObjects.Add(0, 0, s.Width, s.Height).Chart.Paste
  f.ChartObjects(1).Chart.Export Filename:="monimage.jpg"
  f.Shapes(f.Shapes.Count).Delete
  Me.Image1.PictureSizeMode = fmPictureSizeModeZoom
  Me.Image1.Picture = LoadPicture("monimage.jpg")
  Kill "monimage.jpg"
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
ActiveSheet.Shapes("Text Box 2").Select 'selection pour rétablir pavé
End Sub

0
boomer11
 
OK merci, je viens de voir le message.
MERCI encore :)
0
boomer11
 
OK bien vue ... je viens de comprendre.
Sinon le code a changé car je m'en suis servi pour l'adapter sans le choix avec la combo. Du coup, mon code affiche l'image référencé dans la cellule directement.
Comment retrouver le pavé sans cliqué sur une autre image dans ce cas?
C'est normal ??
Et GRAND merci :)
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
je viens d'envoyer la solution, on s'est croisés!
0