Evenement Double clic
Résolu
Alice
-
Alice -
Alice -
Bonjour,
Je crée un fichier comportant plusieurs pages, certaines récapitulatifs ou d'explications ("Liste", "Menu"...), et d'autres spécifiques à des clients ("Martin", "Lefevre"...)
J'aimerai que si on double clic sur une cellule contenant le nom d'un client, on arrive sur l'onglet correspondant.
Mais si jamais on double clic sur une cellule qui ne contient rien ou qui ne correspond pas à un nom de client, un message s'affiche en donnant la procédure à faire (comme inscrire le nom du client et non le prénom par exemple.Mais pour le texte, je m'en occupe).
Dans le cas où ça amène bien à un onglet, j'ai réussi en utilisant le code
Mais comment faire dans le cas où la cellule ne correspond pas ?
(Je ne suis pas la seule destinée à utiliser le fichier, mes collègues ne sauront pas le débuguer)
Merci pour votre aide
Je crée un fichier comportant plusieurs pages, certaines récapitulatifs ou d'explications ("Liste", "Menu"...), et d'autres spécifiques à des clients ("Martin", "Lefevre"...)
J'aimerai que si on double clic sur une cellule contenant le nom d'un client, on arrive sur l'onglet correspondant.
Mais si jamais on double clic sur une cellule qui ne contient rien ou qui ne correspond pas à un nom de client, un message s'affiche en donnant la procédure à faire (comme inscrire le nom du client et non le prénom par exemple.Mais pour le texte, je m'en occupe).
Dans le cas où ça amène bien à un onglet, j'ai réussi en utilisant le code
Private Sub worksheet_beforedoubleclick(ByVal target As Range, cancel As Boolean) Dim nom_onglet As String nom_onglet = ActiveCell.Value Sheets(nom_onglet).Select End Sub
Mais comment faire dans le cas où la cellule ne correspond pas ?
(Je ne suis pas la seule destinée à utiliser le fichier, mes collègues ne sauront pas le débuguer)
Merci pour votre aide
| EDIT : Ajout du LANGAGE dans les balises de code.
Explications disponibles ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Vba double clic cellule
- Double ecran - Guide
- Whatsapp double sim - Guide
- Excel compter cellule couleur sans vba - Guide
- Double driver - Télécharger - Pilotes & Matériel
- Double appel - Guide
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
par
Private Sub worksheet_beforedoubleclick(ByVal target As Range, cancel As Boolean)
En complément de ta réponse, je penses qu'il faut, toutefois, vérifier si le nom contenu dans la cellule cliquée est bien le nom d'une feuille.
Sinon, ça va planter...
Donc, en reprenant ton code, cela pourrait donner :
Private Sub worksheet_beforedoubleclick(ByVal target As Range, cancel As Boolean) Dim nom_onglet As String 'si l'utilisateur double-clic dans la ,bonne colonne (ici colonne A) If Not Intersect(Target, Range("A:A")) Is Nothing Then 'adapter la colonne If Feuil_Exist(ThisWorkbook.Name, Target.Value) Then 'ici le code à exécuter si le nom présent dans la cellule est bien un nom de feuille nom_onglet = Target.Value Sheets(nom_onglet).Select Else 'ici le message à afficher s'il ne s'agit pas d'un nom de feuille MsgBox "ton message" End If 'si clic au mauvais endroit on ne fait rien End If End Sub 'Test si la feuille existe déjà Function Feuil_Exist(strWbk As String, strWsh As String) As Boolean 'Gestionnaire d'erreur On Error Resume Next '"Test" Feuil_Exist = (Workbooks(strWbk).Sheets(strWsh).Name = strWsh) End FunctionMerci!