Bonjour à tout le monde,

Intro :
En fait j'ai un fichier excel qui permet de créer des fichiers csv.
Le fichier Excel est un template ou les gens peuvent saisirs suivant les colonnes, du texte (limité ou pas en nombre de caractères), des nombres, de choisir dans une liste (qui est copié dans toutes les cellules de la colonne concerné) ...

Mon souci :
Quand je suis dans une liste de valeur. Si je choisi par exemple 'TRUE' qui est une des valeurs possible, le control qui est executé en cliquant sur un bounton ne lève pas d'erreur car c'est bien une des valeurs attendues.

Si on copie un mot TRUE venant d'un autre fichier texte (notepad ++, Word, notepad, Wordpad ...) le control lève une erreur même si le mot est juste et du même format que la valeur attendue (UPPERCASE/MAJUSCULE).



Pourquoi ai-je ce problème ? please help me

Appel de la fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Call ValuesInList("Category", nb_line, 13, "=CATEGORY")
'Valeur de la liste : TRUE, FALSE

Code source de la fonction :

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
'--------------------------------------------------------------------------
'
'   ValuesInList: Call by General_Check
'
'   Add an excel validation control of all cells of colum "num_col"
'   from line 6 to line "last_line"
'   The control is that the cell's value must be take in the list given in "valid_values"
'
'--------------------------------------------------------------------------
Sub ValuesInList(col_name, last_line, num_col, valid_values)
 
 
 
    num_col = num_col + 2
    Range(Cells(6, num_col), Cells(last_line, num_col)).Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=valid_values
        .IgnoreBlank = True
        .InCellDropdown = True
        '.InputTitle = ""
        .ErrorTitle = col_name & " : Error "
        '.InputMessage = ""
        .ErrorMessage = "Please choose a value in the list !"
        .ShowInput = False
        .ShowError = True
    End With
 
End Sub 'ValuesInList
Merci d'avance pour vos lumières