Salut
J'ai 2 colonnes, Code postales (F) et Villes (G). Quant je tape le code postal je veux faire apparaitre, dans la cellule de droite, la liste déroulante des villes qui correspondes à ce code postal. J'ai mis cette formule :
Mon premier probleme. Quant je confirme mes réglages dans Validations de données ça me dit que la source est reconnue comme eronnée. J'ai quant même dit que je voulais continuer. Malgré cette erreur ça marche . Même si ça marche, j'ai quant même eu cette erreur et j'aimerais bien savoir d'où ça vient, car la source du nom Lapurdi_CP est bonne.
Second probleme. Quant j’écris la code postale et que je fait entré, ça m'envoie sur la cellule de la ville et ça ouvre automatiquement la liste déroulante avec les villes qui correspondantes aux code postal. Le probleme c'est que ça ne le fait pas pour les autres cellules. J'ai mis cette macros :
Merci d'avance pour votre aide.
J'ai 2 colonnes, Code postales (F) et Villes (G). Quant je tape le code postal je veux faire apparaitre, dans la cellule de droite, la liste déroulante des villes qui correspondes à ce code postal. J'ai mis cette formule :
Code:
=DECALER(Lapurdi_CP;EQUIV($F2;Lapurdi_CP;0)-1;1;NB.SI(Lapurdi_CP;$F$2))
Mon premier probleme. Quant je confirme mes réglages dans Validations de données ça me dit que la source est reconnue comme eronnée. J'ai quant même dit que je voulais continuer. Malgré cette erreur ça marche . Même si ça marche, j'ai quant même eu cette erreur et j'aimerais bien savoir d'où ça vient, car la source du nom Lapurdi_CP est bonne.
Second probleme. Quant j’écris la code postale et que je fait entré, ça m'envoie sur la cellule de la ville et ça ouvre automatiquement la liste déroulante avec les villes qui correspondantes aux code postal. Le probleme c'est que ça ne le fait pas pour les autres cellules. J'ai mis cette macros :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F2" And Target.Count = 1 Then
Application.EnableEvents = False
Target.Offset(0, 1) = Empty
n = Application.CountIf([Lapurdi_CP], Target)
Select Case n
Case 1
Target.Offset(0, 1) = [Lapurdi_CP].Find(Target, LookAt:=xlWhole).Offset(0, 1)
Target.Offset(0, 2) = [Lapurdi_CP].Find(Target, LookAt:=xlWhole).Offset(0, 2)
Case Is > 1
Target.Offset(0, 1).Select
SendKeys "%{down}"
End Select
Application.EnableEvents = True
End If
If Target.Address = "$G2" And Target.Count = 1 Then
Target.Offset(0, 1) = [Lapurdi_Villes].Find(Target, LookAt:=xlWhole).Offset(0, 1)
End If
End Sub
Merci d'avance pour votre aide.