Problème Macro pour passer des colonnes en majuscule

Bonjour à tous,

J'ai créé une macro me permettant de passer en majuscule tout les caractères contenus dans une colonne. Une input box me permet de choisir la colonne dont je souhaite passer les caractères en majuscule.

Cette macro fonctionne bien et je l'ai ajoutée au ruban.

Le problème est que lorsqu'une cellule contient uniquement une valeur numérique (nombre décimale), celle-ci change de format et devient donc quelque chose comme 99,5555555 % au lieu de 99,5.

J'ai trouvé la fonction ifnot Isnumeric... mais je ne suis pas sur qu'elle soit adaptée à mon code.

Sub Majuscuule()
'
' Majuscuule Macro

Dim Nbcel As String
Dim NumCol As String

NumCol = InputBox("Quelle colonne ? (ex :F,écrire en majuscule)")

Nbcel = Range(NumCol & Rows.Count).End(xlUp).Row 'compte le nombre de lignes en partant du bas
MsgBox (Nbcel)

For Each x In Range(NumCol & "1:" & NumCol & Nbcel) 'pour chaque valeur
   x.Value = UCase(x.Value) 'mettre en majuscule
   Next

End Sub

Merci par avance pour votre aide.

Bien cordialement,

Paul

Bonjour,

Comme ceci :

Sub Majuscule()
'
' Majuscule Macro
Dim Nbcel As String
Dim NumCol As String
Dim x
NumCol = InputBox("Quelle colonne ? (ex :F,écrire en majuscule)")
Nbcel = Range(NumCol & Rows.Count).End(xlUp).Row 'compte le nombre de lignes en partant du bas
 For Each x In Range(NumCol & "1:" & NumCol & Nbcel) 'pour chaque valeur
   If WorksheetFunction.IsText(x) Then x.Value = UCase(x.Value)  'mettre en majuscule
 Next
End Sub

Bonjour,

Merci beaucoup ça marche super bien, exactement ce qu'il me faut.

Sujet clos.

Bonne journée,

Paul

Rechercher des sujets similaires à "probleme macro passer colonnes majuscule"