Worksheet_Change sur deux cellules
Bonjour,
j’utilise la méthode Worksheet_Change pour afficher le nom de chaque département (colonne C) en fonction du numéro de département colonne "B".
je voudrais faire pareil aussi pour les codes postales qui se trouvent dans la colonne M en affichant la commune correspondante en N. Les deux bases de commune et département se trouvent dans on onglet "insee".
Mon problème est que seul ma 1er boucle if marche. Les communes ne marchent pas.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range
Dim FAdher, i, j As Integer
On Error Resume Next
FAdher = Worksheets("Feuil1").Range("B65536").End(xlUp).Row
For i = 10 To FAdher
'départements
If Intersect(Target, Range("B5:B40000")) Is Nothing Then Exit Sub
Set cel = Worksheets("insee").Range("C2:C38949").Find(Trim(Mid(Target.Value, 6, 5)), , xlValues, xlWhole)
If Not cel Is Nothing Then
Target.Offset(, 1).Value = cel.Offset(, 1).Value
End If
'Communes
If Intersect(Target, Range("M5:M40000")) Is Nothing Then Exit Sub
Set cel = Worksheets("insee").Range("D2:D38949").Find(Trim(Mid(Target.Value, 6, 5)), , xlValues, xlWhole)
If Not cel Is Nothing Then
Target.Offset(, 1).Value = cel.Offset(, 1).Value
End If
End If
Next i
End SubMerci d'avance.
Bonjour
Ce que j'ai compris
En tapant dans la colonne B le numéro du département, tu auras le nom de celui-ci en colonne C
En tapant dans la colonne M le code postal, tu auras le nom de la commune en colonne N
A tester
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
If Not Intersect(Target, Range("B5:B40000")) Is Nothing Then
'départements
Set Cel = Worksheets("insee").Range("C2:C38949").Find(Trim(Mid(Target.Value, 6, 5)), , xlValues, xlWhole)
If Not Cel Is Nothing Then
Target.Offset(, 1).Value = Cel.Offset(, 1).Value
End If
ElseIf Not Intersect(Target, Range("M5:M40000")) Is Nothing Then
'Communes
Set Cel = Worksheets("insee").Range("D2:D38949").Find(Trim(Mid(Target.Value, 6, 5)), , xlValues, xlWhole)
If Not Cel Is Nothing Then
Target.Offset(, 1).Value = Cel.Offset(, 1).Value
End If
End If
End SubBonjour Banzai64 ,
merci pour la réponse. C'est effectivement ce qu'il me fallait.