Bonjour à tous,

je suis à la recherche d'un code en vba afin d’améliorer une macro que j'ai mise en place.
J'ai pour mission de retravailler des tables de base de données. Dans un premier temps j'ai crée un macro pour passer tous les caractères en majuscule de cette façon :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Sub ConvertingUcase()
Dim TheString As String, TheLetter As String, TheUcase As String
Dim i As Byte
    Application.EnableEvents = False
    For Each c In Selection
        TheString = c.Value
        For i = 1 To Len(TheString)
            TheLetter = Mid(TheString, i, 1)
            Select Case TheLetter
            Case Chr(224), Chr(225), Chr(226), Chr(227), Chr(228), Chr(229) 'Les "A"
                TheLetter = Chr(65)
                TheUcase = TheUcase & TheLetter
            Case Chr(232), Chr(233), Chr(234), Chr(235) ' les "E"
                TheLetter = Chr(69)
                TheUcase = TheUcase & TheLetter
            Case Chr(236), Chr(238), Chr(238), Chr(239) 'Les "I"
                TheLetter = Chr(73)
                TheUcase = TheUcase & TheLetter
            Case Chr(243), Chr(243), Chr(244), Chr(245), Chr(246) 'Les "O"
                TheLetter = Chr(79)
                TheUcase = TheUcase & TheLetter
            Case Chr(249), Chr(250), Chr(251), Chr(252) 'Les "U"
                TheLetter = Chr(85)
                TheUcase = TheUcase & TheLetter
            Case Else
            TheLetter = UCase(TheLetter)
            TheUcase = TheUcase & TheLetter
            End Select
        Next
        c.Value = TheUcase
        TheUcase = ""
    Next
    Application.EnableEvents = True
End Sub
cette macron fonctionne tres bien, mais, cela modifie aussi les fonction VRAI / FAUX, cette valeur est considérée comme un texte et passe en alignement a gauche (c'est le seul moyen de repérer que la valeur n'est plus considérée comme VRAI/FAUX lors de la réimportation de ces tables dans la base de données...) si je double clic sur la cellule et que je change de cellule, la valeur repasse en alignement centré et est considérée comme valeur VRAI / FAUX...
je ne sais pas si j'ai été clair :-/

Auriez vous une idée de ce que je pourrais ajouter comme code afin que ma macro je puisse ne pas modifier les valeur VRAI/FAUX de mes tables ?