Microsoft 365 Application.Vlookup echoue

fhuillier

XLDnaute Nouveau
Bonjour,
je démarre en excel VBA

J'ai une cellule B13="DIRECTION_REGIONALE" qui est une liste déroulante =Données!$E$2:$E$10
Dans l'onglet données colonne D = code région, E = Nom région, F = tel, G= Nom région + tel => Code_Regions=Données!$E$2:$G$10
Dans mon onglet FRANCE après avoir, a partir de ma liste déroulante, sélectionner ma direction cellule= DIRECTION_REGIONALE dans une cellule nommée DRL j'ai une formule qui affiche 1 si non vide
Dans la cellule F_Code_Region j'ai de code correspondant à la direction régionale
Je souhaite changer l'affichage de ma cellule DIRECTION_REGIONALE

Private Sub worksheet_change(ByVal Target As Range)
'Mise a jour valeur Direction Regionale
If Target.Count = 1 Then
If Range("DRL") = 1 Then
Range("DIRECTION_REGIONALE") = Application.VLookup(Range("F_Code_Region"), Range("Code_Regions"), 2, False)
Else
End If
End If
End Sub

J'ai une erreur d’exécution 1044 le méthode Range de l'objet worksheet a échoué.

Merci de m'expliquer ou je me suis planter.
Bonne journée
Francis
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Exact, je n'avais pas vu. Votre macro est ré entrante.
Quand vous modifiez la page cela réactive la macro, etc, etc.
Une autre solution est d'inhiber l'événement quand vous écrivez dans la page avec Application.EnableEvents = False/True
VB:
If Range("DRL") = 1 Then
Application.EnableEvents = False
Range("DIRECTION_REGIONALE") = Application.VLookup(Range("F_Code_Region"), Range("Code_Regions"), 2, False)
Application.EnableEvents = True
Else
La réactivation de la macro est impossible entre Application.EnableEvents = False et True.
 

Discussions similaires

Réponses
1
Affichages
164
Réponses
7
Affichages
321
Réponses
2
Affichages
147

Membres actuellement en ligne

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87