Bonjour à tous,
Grâce à l'aide des membres de ce forum, j' ai réussi à faire un code qui fait à peu près ce que je veux: allez chercher la communauté de commune correspondant à la ville. Malheureusement, celui ci ne marche pas quand on colle une liste de ville. (voir le fichier joint).
Pour palliez à ce problème, j' ai tenté de modifier le code , le problème étant qu'il fait irrémédiablement planté excel ! (le code ne s'exécutant que jusqu'à la dernière cellule remplie, je pense que ce n'est pas trop lourd...)
Des idées ?
Private Sub Worksheet_Change(ByVal Target As Range)
For Each Cell In Sheets("feuil2").Range("A2:A" & [A65536].End(xlUp).Row)
a$ = "ÀÁÂÃÄÅÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåèéêëìíîïðñòóôõöùúûüýÿ-"
b$ = "AAAAAAEEEEIIIINOOOOOUUUUYaaaaaaeeeeiiiionooooouuuuyy "
Chaine = Cell
For i% = 1 To Len(Chaine)
u% = InStr(1, a, Mid(Chaine, i, 1), 0)
If u Then Mid(Chaine, i, 1) = Mid(b, u, 1)
Next i
Dim c As Range
With Sheets("feuil1")
Set c = .[i2:i10000].Find(What:=Chaine, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then Cell.Offset(, 3) = c.Offset(, -5) Else Cell.Offset(, 3) = "inconnue"
End With
Next Cell
End Sub
Merci de votre aide !
Grâce à l'aide des membres de ce forum, j' ai réussi à faire un code qui fait à peu près ce que je veux: allez chercher la communauté de commune correspondant à la ville. Malheureusement, celui ci ne marche pas quand on colle une liste de ville. (voir le fichier joint).
Pour palliez à ce problème, j' ai tenté de modifier le code , le problème étant qu'il fait irrémédiablement planté excel ! (le code ne s'exécutant que jusqu'à la dernière cellule remplie, je pense que ce n'est pas trop lourd...)
Des idées ?
Private Sub Worksheet_Change(ByVal Target As Range)
For Each Cell In Sheets("feuil2").Range("A2:A" & [A65536].End(xlUp).Row)
a$ = "ÀÁÂÃÄÅÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåèéêëìíîïðñòóôõöùúûüýÿ-"
b$ = "AAAAAAEEEEIIIINOOOOOUUUUYaaaaaaeeeeiiiionooooouuuuyy "
Chaine = Cell
For i% = 1 To Len(Chaine)
u% = InStr(1, a, Mid(Chaine, i, 1), 0)
If u Then Mid(Chaine, i, 1) = Mid(b, u, 1)
Next i
Dim c As Range
With Sheets("feuil1")
Set c = .[i2:i10000].Find(What:=Chaine, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then Cell.Offset(, 3) = c.Offset(, -5) Else Cell.Offset(, 3) = "inconnue"
End With
Next Cell
End Sub
Merci de votre aide !