Mise en forme conditionnelle si une cellule n'est pas au bon format

Bonjour à tous !

Je cherche comment faire pour mettre en forme conditionnelle des cellules si elle n'est pas correctement remplie :

Exemple dans mes cellules O9:P182, je dois renseigner des heures pour des rendez-vous (exm :11:00) , je souhaite que s'il est mal renseigné (typiquement 11/00, ou 11h00), la cellule se mette en rouge. En gros, s'il n'y a pas le symbole ":", la cellule se mette en surbrillance.

(J'ai formaté ma cellule au format personnalisé hh:mm)

Et aussi, j'aimerais forcer Excel à écrire "11:00", quand j'écrit "1100", ou "11,00" par exemple ? Cela permettrait au utilisateur d'éviter les erreurs...

Voilà, c'est a peu près tout pour aujourd'hui !

D'avance merci ;)

Eric

Une proposition sur la plage indiquée probablement à affiner (nombres et longueur > 5) ; ce n'est qu'une piste.

40horaires.xlsm (17.34 Ko)

Bonjour Optimix,

Merci ça fonctionne !

J'ai malgré tout une question : J'ai copié le code que tu as écris dans ma Feuil1, ou j'ai déjà du code qui me permet de mettre en surbrillance la ligne en cours d'utilisation.

En cas d'erreur de saisie dans une des case ou je dois mettre les horaires, ça impacte bizarrement la mise en surbrillance de ma ligne active.

Que faut-il rajouter comme ligne dans le code pour le mettre dans module, et pour qu'il pointe vers la feuil1 ?

Encore merci ;)

Eric

Désolé, mais n'ayant pas le tout sous les yeux, il m'est impossible de répondre à cette question.
La solution consiste peut-être à faire une macro qui met ces deux colonnes dans le bon format, par exemple à l'ouverture ou à la fermeture du fichier. Ca c'est très facile à faire.

bonjour,

On ne vous le répètera jamais assez.urtout quand on est débutant) pour qu'on vous donne tout de suite de bonnes habitudes :

Il faut joindre un bout de fichier si possible le fichier dans sa totalité

.Ça ne sert à rien de bricoler un bout de fichier infâme alors que quelques principes bien compris simplifient bien des choses.

A+

Je veux bien joindre un bout de fichier mais il est déjà dans le fil de la discussion.

Ma question est la suivante : Dans le fichier horaires.xlsm partagé par optimix , le code est en feuil1.

J'aimerai le code dans un module plutôt que dans la feuille directement.

Donc que faut-il ajouter dans le code pour que le module pointe vers la feuil1 ?

D'avance merci

Pour que les cellules de la plage O9:P192 soient réactives, il faudra obligatoirement un minimum de code dans feuil1 pour :
- isoler cette plage du reste de la feuille,
- ne rien faire si l'utilisateur a fait une sélection multiple (pour effacer des valeurs par exemple)
- et pour lancer la macro.

Tout le reste se trouve dans la macro. Cette macro est limité à une horloge allant de 00:00 à 23:59. Le format est le string.
Plusieurs cas sont envisagés :
- l'utilisateur a entré une valeur de 1 ou 2 chiffres, on estime qu'il s'agit d'heures
- l'utilisateur a entré une chaine de plus de 5 caractères, on considère qu'il a fait une erreur
- l'utilisateur a entré une valeur de 3 à 5 caractères sans séparateur, ce qui ne permet pas de distinguer les heures des minutes : on considère qu' il a fait une erreur.

Pour le reste, ce sera à toi d'adapter.

18horaires.xlsm (21.65 Ko)
Rechercher des sujets similaires à "mise forme conditionnelle pas bon format"