verfier la presence d une lettre de l alphabet dans une plage de cellule
Le
joseph84

Bonjour tout le monde
j ai un petit probleme je voudrais faire une macro qui verifie si il y
a une lettre de l alphabet dans une colonne si oui il me met un X
exemple
A L AJ
1234 B X
4321 &
45623 Z X
Merci
j ai un petit probleme je voudrais faire une macro qui verifie si il y
a une lettre de l alphabet dans une colonne si oui il me met un X
exemple
A L AJ
1234 B X
4321 &
45623 Z X
Merci
Tu adaptes le nom de la feuille de la plage
Sub test()
Dim C As Range, Rg As Range
With Worksheets("Feuil1")
'Pour chaque cellule de la plage
For Each C In .Range("L1:L" & .Range("L65536").End(xlUp).Row)
'vérifie si le nombre de caractères est égale à 1
If Len(C.Value) = 1 Then
'Si oui, est-ce que ce caractère est une lettre de l'alphabet
Select Case Asc(C.Value)
'Les minuscules et majuscules
Case 97 To 122, 65 To 90
C.Offset(, 24) = "X"
End Select
End If
Next
Application.EnableEvents = True
End With
End Sub
MichD
--------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :
Bonjour tout le monde
j ai un petit probleme je voudrais faire une macro qui verifie si il y
a une lettre de l alphabet dans une colonne si oui il me met un X
exemple
A L AJ
1234 B X
4321 &
45623 Z X
Merci
Autre proposition.... sans vba
En AJ2
=SI(OU(NBCAR(L2)>1;L2="");"";SI(OU(ET(CODE(L2)>96;CODE(L2)<123);ET(CODE(L2)>64;CODE(L2)<91));"X";""))
et recopier vers le bas
*formule sur une seul ligne
--
Salutations
JJ
"joseph84"
Validation matricielle : Maj + Ctrl + Enter
=SI(NBCAR(A1)=1;SI(ESTNUM(EQUIV(CODE(MAJUSCULE(A1));LIGNE(INDIRECT("65:90"));0));"X";"");"")
MichD
--------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :
Bonjour tout le monde
j ai un petit probleme je voudrais faire une macro qui verifie si il y
a une lettre de l alphabet dans une colonne si oui il me met un X
exemple
A L AJ
1234 B X
4321 &
45623 Z X
Merci
Lire des machins comme cela, ....ça va
Les comprendre, c'est une autre paire de manche
Les pondre, c'est pire que de faire pondre des œufs carrés à une poule. -)))
Une fois de plus, merci
Je me prosterne bien bas devant ce savoir. -)
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
is35ho$77b$
Une formule d'un autre type pour la donne du problème...
Validation matricielle : Maj + Ctrl + Enter
=SI(NBCAR(A1)=1;SI(ESTNUM(EQUIV(CODE(MAJUSCULE(A1));LIGNE(INDIRECT("65:90"));0));"X";"");"")
MichD
--------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :
Bonjour tout le monde
j ai un petit probleme je voudrais faire une macro qui verifie si il y
a une lettre de l alphabet dans une colonne si oui il me met un X
exemple
A L AJ
1234 B X
4321 &
45623 Z X
Merci
=SI(NBCAR(A1)=1;SI(ESTNUM(EQUIV(CODE(MAJUSCULE(A1));LIGNE(INDIRECT("65:90"));0));"X";"");"")
Tu la sectionnes :
EQUIV(CODE(MAJUSCULE(A1));LIGNE(INDIRECT("65:90"));0)
Majuscule(A1) assure que toutes les lettres sont en majuscules
la fonction Code() d'une lettre majuscule retourne une valeur entre 65 et 90 inclusivement
La combinaison de la fonction Majuscule et Code retourne le premier paramètre de la fonction Equiv()
Le deuxième paramètre de la fonction Equiv() est le tableau (array) "LIGNE(INDIRECT("65:90"))" qui retourne chacun des
numéros de lignes de 65 à 90
Troisième paramètre de Equiv() est 0 mais dans ce cas on aurait pu utiliser aussi 1, voire l'aide d'Excel sur la
fonction Equiv()
Si A1 contient la lettre "A" : CODE(MAJUSCULE(A1)) = 65
Le tableau des codes possibles : 65 - 66 - 67- .... 89 -90
Equiv(65;Tableau;0)
EstNum teste si Equiv() a trouvé, si oui, elle retourne la position de la valeur dans le tableau sinon elle retourne NA
Cette section de la formule vérifie que nous avons affaire à une cellule qui contient un caractère, car c'est un élément
de la donne du problème et nous voulons nous éviter que la cellule afficher une valeur d'erreur si la cellule est vide
par exemple. ....SI(NBCAR(A1)=1
Reste à unir les composants comme une petite formule avec des "si" et le tour est joué.
MichD
--------------------------------------------
"Jacquouille" a écrit dans le message de groupe de discussion : 4de658a1$0$14244$
Pffff
Lire des machins comme cela, ....ça va
Les comprendre, c'est une autre paire de manche
Les pondre, c'est pire que de faire pondre des œufs carrés à une poule. -)))
Une fois de plus, merci
Je me prosterne bien bas devant ce savoir. -)
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
is35ho$77b$
Une formule d'un autre type pour la donne du problème...
Validation matricielle : Maj + Ctrl + Enter
=SI(NBCAR(A1)=1;SI(ESTNUM(EQUIV(CODE(MAJUSCULE(A1));LIGNE(INDIRECT("65:90"));0));"X";"");"")
MichD
--------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :
Bonjour tout le monde
j ai un petit probleme je voudrais faire une macro qui verifie si il y
a une lettre de l alphabet dans une colonne si oui il me met un X
exemple
A L AJ
1234 B X
4321 &
45623 Z X
Merci