Re,
Le fichier n'est pas vide. Le code est bien présent.
La feuille est complètement vide, ni entête de champs, ni valeurs.
Comment veux qu'on te conseille correctement si on ne sait pas quel type de donnée ou formule reçoit une cellule ni comment se présentent tes tableaux ?
Si tu as une colonne Date par exemple je te dirais que c'est totalement inutile puisque seule une date pourra y venir.
Bref, un exemple :
Sub test()
Dim pl As Range
Set pl = Range("Q20:AU76")
F_Standard pl
End Sub
Sub F_Standard(pl As Range)
Dim datas, pl2 As Range, lig As Long, col As Long
datas = pl.Value ' mise plage en mémoire
For lig = 1 To UBound(datas, 1)
For col = 1 To UBound(datas, 2)
If datas(lig, col) = "" Then
If pl2 Is Nothing Then Set pl2 = pl(lig, col) Else Set pl2 = Union(pl2, pl(lig, col)) ' on stocke les ref vides dans pl2
End If
Next col
Next lig
If Not pl2 Is Nothing Then pl2.NumberFormat = "General" ' on change tous les formats d'un coup
End Sub
Je n'ai pas mis en fonction car je n'ai pas perçu l'intérêt. La conversion ne sera pas difficile.
eric
PS : 0.023 s pour remettre toute la plage en Standard
PS2 : il faut éviter de mettre des traitements trop importants dans Worksheet_SelectionChange
Tu te retrouves avec une feuille qui n'est plus réactive et ça devient vite pénible.
Fait sur demande sur un bouton, et/ou sur activation de la feuille