rechercher valeur

vicottin

XLDnaute Nouveau
Bonjour,
J’ai des problèmes pour créer une macro. Pourriez-vous m’aider.

J’ai un classeur avec deux feuilles.

Une feuille « Entreprise » et une autre feuille« employés ».

Ce que je cherche à faire : Quand je clique sur le nom d’un employé dans ma feuille « Entreprise » arriver directement sur la ligne de cet employé dans ma feuille « employés »

Pensez-vous que cela est réalisable ?

Un exemple de fichier est en pièce jointe.
Je vous remercie par avance pour votre aide.
 

Pièces jointes

  • Exemple de fichier.xlsx
    32.7 KB · Affichages: 42
  • Exemple de fichier.xlsx
    32.7 KB · Affichages: 43

sousou

XLDnaute Barbatruc
Re : rechercher valeur

bonjour
Colle le code suivant dans le code de la feuille employés, et regarde si cela te convient

Public colonnes

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
colonnes = Array(18, 19, 20)
If col(Target) = True Then
With Sheets("employés") 'Recherche de l'employé
.Activate
Set r = .UsedRange.Find(Target.Value)
r.Select
End With
End If

End Sub

Function col(cellule) ' controle si la colonneselection nous intéresse
For n = 0 To UBound(colonnes)
If cellule.Column = colonnes(n) Then
col = True
Exit Function
End If
Next
End Function
 

vicottin

XLDnaute Nouveau
Re : rechercher valeur

Un grand, grand, grand merci pour votre code qui fonctionne parfaitement.
C'est super et ce code va me faire gagner beaucoup de temps.

Juste une précision: est-il possible de sélectionner ma cellule sans avoir la fonction qui s'active pour modifier le mon de la personne par exemple?

Merci de votre retour
 

Caillou

XLDnaute Impliqué
Re : rechercher valeur

Bonjour,

Modifie le code comme suit :
Code:
Public colonnes

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
 colonnes = Array(18, 19, 20)
 If col(Target) = True Then
 With Sheets("employés") 'Recherche de l'employé
 .Activate
 Set r = .UsedRange.Find(Target.Value)
 r.Select
 End With
 End If
 Cancel = True
End Sub

 Function col(cellule) ' controle si la colonneselection nous intéresse
 For n = 0 To UBound(colonnes)
 If cellule.Column = colonnes(n) Then
 col = True
 Exit Function
 End If
 Next
 End Function

Caillou
 

Discussions similaires

Statistiques des forums

Discussions
314 223
Messages
2 107 498
Membres
109 844
dernier inscrit
odyn