XL 2016 Déclencher une macro après validation d'une cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Bandoulier

XLDnaute Junior
Bonjour à tous,
Dans une feuille Excel, je voudrais qu'en saisissant un "code locataire" en B3 s'affichent le nom et le prénom du locataire en B4 et B5.
Pour cela dans cette feuille j'ai mis le code :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$3" Then Call TrouverLocataire
End Sub
et dans un module, j'ai fait une petite macro qui cherche le code dans un fichier des locataires (une autre feuille Excel) et qui récupère le nom et le prénom du locataire d'après le code et qui les recopie en B3 et B4 de la feuille initiale.

Quand je valide ma cellule B3 dans la 1ère feuille ma "Private Sub Worksheet" se déclenche bien, elle lance la macro du module (TrouverLocataire), elle va dans le fichier des locataires, elle cherche et trouve le code locataire ... et elle s'arrête là !!!
Elle ne récupère pas les nom et prénom et elle ne me les recopie pas dans la feuille du départ !
Auriez-vous une idée qui puisse m'aider ?

Je me pose une autre question :
J'ai une 2ème manip identique à faire dans la 1ère feuille, qui en saisissant un "code bien" devra retrouver une adresse.
Je ne pense pas que je puisse mettre deux fois le code "Private Sub Worksheet_Change(ByVal Target As Range)..." dans la feuille (à mon avis ça va coincer !)
Auriez-vous une solution

D'avance, merci à tous ceux qui voudront bien s'intéresser à mon problème
 
Bonjour Bandoulier,
Vous donnez le code de la macro qui marche, mais pas le code de la macro qui ne marche pas ! 🙂
Auriez vous un petit fichier exemple SVP ?
Il est possible que votre macro ne sache pas où coller les infos; Manque d'infos sur la destination.
 
Bonjour Sylvanu,
Je vous donne tout mon fichier (les données sont bidon)
Dans la feuille "Mask_Paie", quand je saisi en B3, je veux que la macro "TrouverLocataire" du module "Paie" se déclenche ... et fonctionne.
Merci de vous être penché sur mon problème
 

Pièces jointes

Bingo. La macro colle n'importe où, tout du moins dans la feuille active... qui n'est pas la bonne.
Donc changez :
VB:
    'Je Mask_Paie sur Mask_Paie
    Sheets("Mask_Paie").Select
    Range("E3").Value = Nom
    Range("H3").Value = PN
et vous pouvez rajouter :
Code:
    'Je vais dans le fichier des locataires
    Application.ScreenUpdating = False
Ce qui fige l'écran pendant la manip.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
Réponses
3
Affichages
45
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
233
Retour