Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Repérer caractères spéciaux dans cellule

  • Initiateur de la discussion Initiateur de la discussion flint6593
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

flint6593

XLDnaute Occasionnel
Bonjour,

Voilà, je voudrais savoir si il existe une macro capable de repérer les caractères spéciaux.
Et si il y en à, de mettre la cellule en rouge.
Voilà mon code:

Function RefValide(Ref As String) As Boolean
RefValide = True
If Asc(Ref) < 65 Then RefValide = False
If Asc(Ref) > 90 And Asc(Ref) < 97 Then RefValide = False
If Asc(Ref) > 122 Then RefValide = False

Le problème c'est que ça ne test que le premier caractère. J'aimerais qu'il me test tous les caractères de la cellule... Ensuite avec le False je me débrouille dans mon programme...

Merciiiiii!!!!!!!!
 
Re : Repérer caractères spéciaux dans cellule

Bonjour flint6593

A tester:

Code:
Function RefValide(Ref As String) As Boolean
RefValide = True
For n = 1 To Len(Ref)
If Asc(Mid(Ref, n, 1)) < 65 Then RefValide = False
If Asc(Mid(Ref, n, 1)) > 90 And Asc(Ref) < 97 Then RefValide = False
If Asc(Mid(Ref, n, 1)) > 122 Then RefValide = False
Next n
End Function
 
Re : Repérer caractères spéciaux dans cellule

Rebonjour!

Je ressort ce vieux post pour demander un complément d'information.
En fait j'ai un problème.
Je dois interdire la suite "Lettre - chiffre" exemple "R-5", mais je dois autoriser le caractère -

Voici mon code, le souci étant qu'au début on interdit bien ce que je veux, mais après on l'autorise.... Voici mon code:


Function RefValide(Ref As String) As Boolean
RefValide = True

If UCase(Ref) Like "*[A-Z]-#*" Then RefValide = False

For n = 1 To Len(Ref)

If Asc(Mid(Ref, n, 1)) < 48 And Asc(Ref) > 57 Then RefValide = False
If Asc(Mid(Ref, n, 1)) = 45 Then RefValide = True 'voici mon caractère!!!!!!!
If Asc(Mid(Ref, n, 1)) > 57 And Asc(Ref) < 65 Then RefValide = False
If Asc(Mid(Ref, n, 1)) > 90 And Asc(Ref) < 97 Then RefValide = False
If Asc(Mid(Ref, n, 1)) > 122 Then RefValide = False
Next n

End Function

Merci!!!!!!!!!!!!!!!!!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

S
Réponses
7
Affichages
2 K
syriak
S
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…