Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…