XL 2016 RESOLU: Ouvrir un formulaire en cliquant sur une cellule

Mulder

XLDnaute Junior
Bonjour,

Je souhaite pouvoir ouvrir un formulaire en cliquant sur une cellule.
Je m'explique :
- j'ai une base de données, sommaire, qui contient des codes de produits en colonne A ;
- je souhaite, en cliquant sur le logo en colonne B, afficher un UserForm qui m'affiche les caractéristiques du produit (caractéristiques contenues dans une autre feuille) ;
- l'idée est donc que le formulaire se lance en cliquant sur la cellule, et également qu'il soit capable de se remplir en fonction de la valeur de la colonne d'à côté ;

L'exemple ci-joint pour mieux me comprendre.
Je n'ai pas codé le UserForm pour l'instant, l'idée est déjà que dans un premier temps, on puisse le lancer (en cliquant sur B1) et que s'y affiche les caractéristiques relatives au code produit en A1. Le reste, je saurai faire.

Edit : il va de soi que, comme la liste de codes peut s'allonger, je ne vais pas créer une macro par article? Je pense que l'on peut automatiser cela.

D'avance merci !!
 

Pièces jointes

  • test.xlsm
    13.8 KB · Affichages: 62

Mulder

XLDnaute Junior
Bonjour vgendron,

Merci pour ta réponse.
Je viens de tester en adaptant à mon fichier, ça fonctionne mais... (faut bien compliquer les choses) :
J'ai des sauts dans ma base de donnée, où les lignes sont vides.
Je pensais adapter de cette manière :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column <> 8 And Target.Value <> "" Then Exit Sub
UserForm1.Show
End Sub

Mais du coup ça fonctionne n'importe où... Bizarre si je conditionne avec "And" ?
Deuxième chose, comment j'affiche dans le UserForm, le code article de la case Ax (où x est la ligne où je clique) dans le Label2, qui me permettra d'alimenter le reste des informations ?
 

Mulder

XLDnaute Junior
Impeccable pour la première partie des points en suspens.

Reste à gérer : "Deuxième chose, comment j'affiche dans le UserForm, le code article de la case Ax (où x est la ligne où je clique) dans le Label2, qui me permettra d'alimenter le reste des informations ?"

Une idée ?
 

Mulder

XLDnaute Junior
Bon, je pense avoir trouvé en tâtonnant :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column <> 2 Or Target.Value = "" Then Exit Sub
    UserForm1.Label10.Caption = Target.Offset(0, -1).Value
    UserForm1.Show
End Sub

Ca fonctionne a priori sans problèmes...
Merci vgendron pour tes indications qui m'ont débloqué pour le reste !!
 

Discussions similaires

Réponses
93
Affichages
1 K

Statistiques des forums

Discussions
311 730
Messages
2 081 981
Membres
101 855
dernier inscrit
alexis345