Bonjour à tous

Je me suis retrouvé très souvent devant l'impossibilité de convertir une plage de cellules (la plupart du temps, une colonne) avec des valeurs numériques au format texte en format numérique/pourcentage.

Dernier cas en date après l'utilisation de la méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ActiveWorkbook.ActiveSheet.Cells(9, 1).CopyFromRecordset oRecSet
Qui copie tous les enregistrements du recordSet au format caractère dans les cellules qui sont elles au format numérique/pourcentage. Apparait alors le petit icône qui demande de modification de la cellule au format numérique

Jusqu'à présent, toutes les méthodes proposées ne fonctionnaient pas sauf chez les autres, les chanceux !

Je suis tombé sur ce post ici - Merci Rick Rothstein qui donne une solution qui fonctionne enfin pour moi.

Adapté à mon code, cela donne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Set oRg = Range("l9:l65000") '-> If used .entirecolumn -> selection set "G:L" because cells G:L merged on line 7
With oRg
          .NumberFormat = "General"
          .TextToColumns
          .NumberFormat = "0%"
End With