carlos

carlos

XLDnaute Impliqué
Supporter XLD
Bonjour

Je saisis un nombre tres important de chiffre dans une cellule (Jusqu'à 64 chiffres) ce sont toujours des 1 , 2 , ou 3 mais parfois je fais des erreurs de frappe .....

J'aimerai que tout ce qui n'est pas compris entre 1 et 3 soit en rouge , meme chose pour le texte


Merci

Voir PJ [file name=couleurChiffreDansNombre.zip size=6138]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/couleurChiffreDansNombre.zip[/file]
 

Pièces jointes

  • couleurChiffreDansNombre.zip
    6 KB · Affichages: 13

Samantha

XLDnaute Accro
Re:carlos - Peut être une solution en VBA ?

Bopnjour les Gens, le Forum, Carlos, ;)

Afffff tu me pose une colle là en effet la mise en forme conditionnelle de propose pas de choix 'contient' encore que cela aurait été une méthode approximative puisque tout le contenu de la cellule aurait été mis en couleur........

J'avais aussi pensé à une validation mais la liste ne propose pas de 'contient' non plus, uniquement une longueur maxi et mini pour la saisie de données numériques (ce qui est bien pratique pour la saisie de gencodes par exemple tu fais ton message d'alerte et la saisie est bloquée tant que ce que l'opérateur entre ne correspond pas au format demandé) donc pas de mise en couleur mais un message d'alerte......

Les copains y'a pas un moyen de demander à XL la permission de rajouter des choix dans les listes :) :evil:

Peut être un de nos expert du VBA vont ils te trouver une macro qui va bien ???



Samantha
 

lapix

XLDnaute Occasionnel
d'un point de vue macro ca pourrait ressembler a ca :

Sub Macro1()
For x = 1 To Len(ActiveCell.Value)
If Mid(ActiveCell.Value, x, 1) <> 1 And _
Mid(ActiveCell.Value, x, 1) <> 2 And _
Mid(ActiveCell.Value, x, 1) <> 3 Then
ActiveCell.Characters(Start:=x, Length:=1).Font.ColorIndex = 3
End If
Next x
End Sub

si tu saisi dans une multitude de cellules, il te faudrait declencher la macro sur chaque 'ENTREE'
 

carlos

XLDnaute Impliqué
Supporter XLD
Bonsoir le forum et interpole

Joli jeu de mot JMPS ...

effectivement je rentre de vacance et n'ai prevenu personne ..Aie

De plus j'avais mis 2 posts sur le meme sujet suite à des petites erreurs de titre de sujet ,Bref je viens de repondre au premier et m'apercois des efforts que chacun de vous à fait sur ce premier post.

Je me fais tout petit et je vais tester de ce pas vos propositions .

C vrai ce que dit Jmps ;'voudrait du rouge en live pendant la saisie...' ou plutot un 'Beep' ce serais parfait mais je n'ai pas reussi comme ca.

Voici ce que j'ai bidouillé pendant mes vacances .
Sub cherche()
Dim AnyString, MyStr
AnyString = Cells(4, 2) ' Définit la chaîne.
Dim i As Byte, nbcar As Byte
nbcar = Len(Range('B4'))

Cells(4, 2).Font.ColorIndex = 1
For i = 1 To nbcar
MyStr = Right(Left(AnyString, i), 1)

If MyStr <> 1 And MyStr <> 2 And MyStr <> 3 _
Then Cells(4, 2).Characters(Start:=i, Length:=1).Font.ColorIndex = 3
Next i
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
cherche
End Sub


Si quelqu'un peux me faire un BEEEEEEEEEEEEEEEEEEEEEEEEp ce serais top .

Merci [file name=couleurChiffreDansNombre_20050821232020.zip size=9273]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/couleurChiffreDansNombre_20050821232020.zip[/file]
 

Pièces jointes

  • couleurChiffreDansNombre_20050821232020.zip
    9.1 KB · Affichages: 13

JeanMarie

XLDnaute Barbatruc
Bonjour

Voilà Celeda,
le code pour le module
Code:
Sub cherche(vCell As Range)
Dim AnyString, MyStr
AnyString = vCell ' Définit la chaîne.
Dim i As Byte, nbcar As Byte
nbcar = Len(AnyString)

vCell.Font.ColorIndex = 1
For i = 1 To nbcar
   MyStr = Right(Left(AnyString, i), 1)
   
   If MyStr <> 1 And MyStr <> 2 And MyStr <> 3 Then _
      vCell.Characters(Start:=i, Length:=1).Font.ColorIndex = 3
Next i
End Sub

et le code pour la gestion d'événement
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Range('B4:E10')) Is Nothing Then Exit Sub
cherche Target
End Sub

@+Jean-Marie
 

Celeda

XLDnaute Barbatruc
Bonjour,

AH cela marche au poil JM : merci beaucoup

c'est ce qu'on appelle un petit complémentaire,

(entre amis (ies)

José serait fier !!

de cette camaraderie!!



hé Carlos, reviens, il est là ton fil!!!!!!!!!!!!!!!!!!!!!!!!!!!!



Celeda ;)
 

Ti_

Nous a quitté
Repose en paix
alors à la demande expresse de Celeda qui m'a orienté vers ce fil, voici une façon de limiter la saisie aux seuls caractères 123, tout en signalant les fautes de frappe par un bip durant la saisie (donc avant la validation).

Pour éviter d'avoir une zone de saisie définie d'avance, j'ai limité cette 'saisie assistée' aux seules cellules ne contenant pas de formule et ayant un format texte. Ainsi il est très facile d'indiquer où actionner cette saisie. [file name=SaisieNombresTi.zip size=13649]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SaisieNombresTi.zip[/file]
 

Pièces jointes

  • SaisieNombresTi.zip
    13.3 KB · Affichages: 15

Discussions similaires

Réponses
11
Affichages
626
Réponses
1
Affichages
468

Statistiques des forums

Discussions
312 332
Messages
2 087 365
Membres
103 528
dernier inscrit
maro