Bonsoir Jean-Eric,
même si le demandeur Lenak ne l'avait pas mentionné dans son énoncé, tu as raison : y'a quelques numéros de téléphone qui commencent par le signe « + » ou qui comportent un point séparateur au lieu de l'espace.
nouvelle version du fichier :
d'où cette copie d'écran (qui démontrera à Lenak que mon code VBA ne fait pas rien ! ) :
au cas où Lenak ne trouverait pas mon code VBA, le voici :
Option Explicit
Sub NormTél()
Dim Tbl, dlig&, chn$, lng As Byte, i&
dlig = Cells(Rows.Count, 10).End(xlUp).Row: If dlig = 1 Then Exit Sub
Tbl = Range("J1:J" & dlig)
For i = 2 To dlig
chn = Tbl(i, 1)
If chn <> "" Then
If Left$(chn, 1) = "+" Then chn = Right$(chn, Len(chn) - 1)
chn = Replace$(Replace$(chn, " ", ""), ".", ""): lng = Len(chn)
Do While Left$(chn, 1) = "0" And lng > 1
lng = lng - 1: chn = Right$(chn, lng)
Loop
If Left$(chn, 4) = "2420" Then chn = Right$(chn, lng - 4)
Tbl(i, 1) = chn
End If
Next i
Application.ScreenUpdating = 0: Range("J1:J" & dlig) = Tbl
End Sub
@Lenak
c'est cool, hein ? au pire des cas, t'as juste à faire un copier/coller de la macro dans ton vrai classeur ! mais attention : si c'est un .xlsx tu dois d'abord le convertir en .xlsm ; de retour sur Excel, tu lances la macro via Alt F8, ou via un raccourci clavier que tu ajoutes, ou via un bouton de commande (à ajouter).
dhany