Bonjour le forum
Avec l'autorisation de David, voici, en son hommage, une fonction personnalisée de Ti_ (Thierry Pourtier) convertissant une chaine de caractères en majuscules non accentuées.
Utilisable par VBA ou formule
Bien cordialement,@+
	
	
	
	
	
		
[édition : Voici une petite évolution en version 1.2 laissant le choix de la casse en paramètre optionnel, casse conservée convertie sans accents par défaut.]
	
	
	
	
	
		
	
		
			
		
		
	
				
			Avec l'autorisation de David, voici, en son hommage, une fonction personnalisée de Ti_ (Thierry Pourtier) convertissant une chaine de caractères en majuscules non accentuées.
Utilisable par VBA ou formule
Bien cordialement,@+
		VB:
	
	
	Function MajSansAccent$(ByVal Chaine$)
'conversion d'une chaîne texte en majuscules non accentuées
'V1.0 by Ti_ (Thierry Pourtier)
Const VAccent = "àáâãäåéêëèìíîïðòóôõöùúûü", VSsAccent = "aaaaaaeeeeiiiioooooouuuu"
Dim Bcle&
If Len(Chaine) > 0 Then
    For Bcle = 1 To Len(VAccent)
        Chaine = Replace(Chaine, Mid(VAccent, Bcle, 1), Mid(VSsAccent, Bcle, 1))
    Next Bcle
    MajSansAccent = UCase(Chaine)
End If
End Function
	[édition : Voici une petite évolution en version 1.2 laissant le choix de la casse en paramètre optionnel, casse conservée convertie sans accents par défaut.]
		VB:
	
	
	Function MajVsMinSansAccent$(ByVal Chn_Txt$, Optional MajVsMin As Byte = 0)
'conversion d'une chaîne texte en majuscules ou minuscules non accentuées
'V1.0 by Ti_ (Thierry Pourtier) le 12-07-2004
'V1.2 by Bernard_XLD
'MajVsMin=0 ou omis -> casse conservée convertie sans accents
'MajVsMin=1 -> Majuscules sans accents
'MajVsMin=2 -> Minuscules sans accents
Const VAccent = "àáâãäåçéêëèìíîïðòóôõöñùúûüýÿÀÁÂÃÄÅÇÉÊËÈÌÍÎÏÐÒÓÔÕÖÑÙÚÛÜÝŸ", VSsAccent = "aaaaaaceeeeiiiioooooonuuuuyyAAAAAACEEEEIIIIOOOOOONUUUUYY"
Dim Bcle&
If Len(Chn_Txt) > 0 Then
    For Bcle = 1 To Len(VAccent)
        Chn_Txt = Replace(Chn_Txt, Mid(VAccent, Bcle, 1), Mid(VSsAccent, Bcle, 1))
    Next Bcle
    Select Case MajVsMin
    Case 1
        MajVsMinSansAccent = UCase(Chn_Txt)
    Case 2
        MajVsMinSansAccent = LCase(Chn_Txt)
    Case Else
        MajVsMinSansAccent = Chn_Txt
    End Select
    End If
End Function
	
			
				Dernière édition: