Listes déroulantes (simple clic et agrandissement) + Insertion photo

Renaud22

XLDnaute Junior
Bonjour à tous,

Je possède une tablette Surface 3 dans laquelle je dois utiliser un fichier (Modèle.xlsm) contenant plusieurs listes déroulantes. Étant donné la difficulté que j'ai d'ouvrir une liste déroulante en pointant sur la flèche avec le doigt, je voudrais zoomer sur la liste afin d'effectuer un choix plus facilement. Un exemple a été fait pour la cellule AC15 :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$AC$15" Then
ActiveWindow.Zoom = 300
Application.Goto Target, Scroll:=True
SendKeys "%{down}"
Else
ActiveWindow.Zoom = 100
End If
End Sub


J'ai besoin d'aide car je désirerais qu'une fois l'élément est sélectionné dans la liste, le zoom 100 s'applique automatiquement et le curseur se positionne à la cellule A13, dans le coin supérieur droit de l'écran.

******************
************

Finalement, elle-il possible d'ouvrir un répertoire photo jusqu'en cliquant sur une case, exemple cellule D15 (Modèle.xlsm) et voir la photo 51 située dans le répertoire Photo (idem clic L15 - ouvrir photo 89)?

Répertoire de travail
Répertoire Photo
1.jpg
2.jpg
....
Modèle.xlsm

Merci à l'avance pour votre précieuse collaboration,

Salutations,

Renaud22
 

Pièces jointes

  • Modèle.xlsm
    76.4 KB · Affichages: 30
  • Modèle.xlsm
    76.4 KB · Affichages: 31
  • Modèle.xlsm
    76.4 KB · Affichages: 31

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Listes déroulantes (simple clic et agrandissement) + Insertion photo

Bonjour,

cf PJ

JB
 

Pièces jointes

  • Modèle-1.xlsm
    80.3 KB · Affichages: 42
  • Modèle-1.xlsm
    80.3 KB · Affichages: 41
  • Modèle-1.xlsm
    80.3 KB · Affichages: 47
Dernière édition:

Renaud22

XLDnaute Junior
Re : Listes déroulantes (simple clic et agrandissement) + Insertion photo

Bonjour BOISGONTIER,

Merci pour votre réponse. J'ai regardé attentivement votre code même si je suis loin de maitriser comme vous la programmation. Je suis vraiment un novice. Lorsque je choisis un item dans la liste déroulante, le zoom est changé à 100% mais le curseur ne vient pas se positionné à la cellule A13 (au début).

Étant donné que le tableau contient plusieurs listes déroulantes, est-il possible d'adapter votre code à chacune de ces listes ? Soit un code type que je pourrais adapter par la suite à chacune des listes déroulantes. Je n'aurais qu'à remplacer le nom de la cellule contenant la liste déroulante, et ainsi de suite.

Finalement, j'ai testé l'insertion de photos. J'aimerais que les photos soient recherchées dans un répertoire "Photos" (Modèle.xlsm dans le répertoire racine) et qu'elles soient affichées uniquement par le visualisation défini par défaut dans Windows. Est-ce possible ? Le nom de la photo (ex. : Cellule C23) ne doit pas contenir l'extension ".JPG" mais uniquement le nom (au lieu de Bouchez.jPG ->Bouchez).

Au plaisir de vous relire,

Sincères remerciements pour votre aide.

Renaud22
 

Renaud22

XLDnaute Junior
Re : Listes déroulantes (simple clic et agrandissement) + Insertion photo

Bonjour BOISGONTIER,

Merci pour votre réponse. J'ai regardé attentivement votre code même si je suis loin de maitriser comme vous la programmation. Je suis vraiment un novice. Lorsque je choisis un item dans la liste déroulante, le zoom est changé à 100% mais le curseur ne vient pas se positionné à la cellule A13 (au début).

Étant donné que le tableau contient plusieurs listes déroulantes, est-il possible d'adapter votre code à chacune de ces listes ? Soit un code type que je pourrais adapter par la suite à chacune des listes déroulantes. Je n'aurais qu'à remplacer le nom de la cellule contenant la liste déroulante, et ainsi de suite.

Finalement, j'ai testé l'insertion de photos. J'aimerais que les photos soient recherchées dans un répertoire "Photos" (Modèle.xlsm dans le répertoire racine) et qu'elles soient affichées uniquement par le visualisation défini par défaut dans Windows. Est-ce possible ? Le nom de la photo (ex. : Cellule C23) ne doit pas contenir l'extension ".JPG" mais uniquement le nom (au lieu de Bouchez.jPG ->Bouchez).

Au plaisir de vous relire,

Sincères remerciements pour votre aide.

Renaud22
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Listes déroulantes (simple clic et agrandissement) + Insertion photo

Bonjour,

cf PJ

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Range("ac15,ad15,z16,u15,w15,y15"), Target) Is Nothing Then
    ActiveWindow.Zoom = 100
    [A13].Select
  End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect(Range("ac15,ad15,z16,u15,w15,y15"), Target) Is Nothing Then
    ActiveWindow.Zoom = 300
    Application.Goto Target, Scroll:=True
    SendKeys "%{down}"
  Else
    ActiveWindow.Zoom = 100
  End If
  Dim image, a, c, nomimage, répertoire
  '----
  If Left(Target.Address, 5) = "$D$15" Then
    répertoire = "c:\photos"                  ' adapter
    image = Range("C23").Value & ".jpg"
    nomimage = image
    Set c = Target
      With ActiveSheet
       On Error Resume Next
       .Pictures.Insert(répertoire & "\" & nomimage).Name = nomimage
       If Err = 0 Then
         .Shapes(nomimage).Height = c.Height
         .Shapes(nomimage).Left = c.Left + (c.Width - .Shapes(nomimage).Width) / 2
         .Shapes(nomimage).Top = c.Top
         .Shapes(nomimage).LockAspectRatio = msoTrue
       End If
      End With
   End If
End Sub

JB
 

Pièces jointes

  • Modèle-1.xlsm
    82.5 KB · Affichages: 29
  • Modèle-1.xlsm
    82.5 KB · Affichages: 32
  • Modèle-1.xlsm
    82.5 KB · Affichages: 24

Renaud22

XLDnaute Junior
Re : Listes déroulantes (simple clic et agrandissement) + Insertion photo

Bonjour BOISGONTIER,

J'ai testé vos dernières lignes de code et ils fonctionnent très bien. Dans la réalité, il y aura plus d'une quinzaine de blocs comme celui compris entre les lignes 13 & 24. J'ai donc ajouté un bloc supplémentaire pour faire un test tout en modifiant légèrement le programme que vous avez si remarquablement écrit (voir Modèle 2.xlsm ci-joint). Le dernier bloc fonctionne très bien mais le zoom 300 ne s'applique pas aux cellules contenant les listes déroulantes du premier bloc. Quelle est la modification qu'il faut apporter au programme pour que le zoom 300 fonctionne également dans le premier bloc ? Une fois que vous m'aurez transmis la solution, je pourrais ajouter les lignes de code nécessaires pour les treize autres blocs qui suivront.

Concernant l'insertion de photo, est-il possible d'éviter de déterminer un lecteur (répertoire = "c:\photos" ) dans lequel les photos seront incluses. Idéalement, le répertoire "Photos" ne doit pas être associé à un lecteur comme dans votre exemple "c:". Il faudrait que le programme puisse ouvrir les photos dans un répertoire photos placé n'importe où sur un disque dur. Peu importe la localisation du fichier "Modèle 2.xlsm" et le "Répertoire "Photos"", le programme devrait être en mesure d'ouvrir le répertoire "Photos". Voir les exemples ci-dessous :

Exemple 1 :
C:\
Modèle 2.xlsm
Répertoire "Photos"
Photo 1
Photo 2,...

Exemple 2 :
C:\Travail
Modèle 2.xlsm
Répertoire "Photos"
Photo 1
Photo 2,...

Exemple 3 :
d:\Etudes\Projet n° 2
Modèle 2.xlsm
Répertoire "Photos"
Photo 1
Photo 2,...


Finalement, au lieu de coller la photo dans une case, exemple : cellule D15. Je voudrais que le programme permettre l'affichage de la photo à l'aide du visualisation de photos intégré à Windows. Est-possible ?

Vous avez fait un excellent travail et demeurez assuré que j'apprécie beaucoup l'attention et l'intérêt que vous manifestez afin de solutionner mon problème.

Au plaisir de vous relire,

Salutations,

Renaud22
 

Pièces jointes

  • Modèle 2.xlsm
    81.7 KB · Affichages: 22
  • Modèle 2.xlsm
    81.7 KB · Affichages: 22
  • Modèle 2.xlsm
    81.7 KB · Affichages: 25

Renaud22

XLDnaute Junior
Re : Listes déroulantes (simple clic et agrandissement) + Insertion photo

Bonjour BOISGONTIER,

J'ai testé vos dernières lignes de code et ils fonctionnent très bien. Dans la réalité, il y aura plus d'une quinzaine de blocs comme celui compris entre les lignes 13 & 24. J'ai donc ajouté un bloc supplémentaire pour faire un test tout en modifiant légèrement le programme que vous avez si remarquablement écrit (voir Modèle 2.xlsm ci-joint). Le dernier bloc fonctionne très bien mais le zoom 300 ne s'applique pas aux cellules contenant les listes déroulantes du premier bloc. Quelle est la modification qu'il faut apporter au programme pour que le zoom 300 fonctionne également dans le premier bloc ? Une fois que vous m'aurez transmis la solution, je pourrais ajouter les lignes de code nécessaires pour les treize autres blocs qui suivront.

Concernant l'insertion de photo, est-il possible d'éviter de déterminer un lecteur (répertoire = "c:\photos" ) dans lequel les photos seront incluses. Idéalement, le répertoire "Photos" ne doit pas être associé à un lecteur comme dans votre exemple "c:". Il faudrait que le programme puisse ouvrir les photos dans un répertoire photos placé n'importe où sur un disque dur. Peu importe la localisation du fichier "Modèle 2.xlsm" et le "Répertoire "Photos"", le programme devrait être en mesure d'ouvrir le répertoire "Photos". Voir les exemples ci-dessous :

Exemple 1 :
C:\
Modèle 2.xlsm
Répertoire "Photos"
Photo 1
Photo 2,...

Exemple 2 :
C:\Travail
Modèle 2.xlsm
Répertoire "Photos"
Photo 1
Photo 2,...

Exemple 3 :
d:\Etudes\Projet n° 2
Modèle 2.xlsm
Répertoire "Photos"
Photo 1
Photo 2,...


Finalement, au lieu de coller la photo dans une case, exemple : cellule D15. Je voudrais que le programme permettre l'affichage de la photo à l'aide du visualisation de photos intégré à Windows. Est-possible ?

Vous avez fait un excellent travail et demeurez assuré que j'apprécie beaucoup l'attention et l'intérêt que vous manifestez afin de solutionner mon problème.

Au plaisir de vous relire,

Salutations,

Renaud22
 

Pièces jointes

  • Modèle 2.xlsm
    81.7 KB · Affichages: 19
  • Modèle 2.xlsm
    81.7 KB · Affichages: 24
  • Modèle 2.xlsm
    81.7 KB · Affichages: 23

Statistiques des forums

Discussions
312 198
Messages
2 086 153
Membres
103 137
dernier inscrit
Billly