Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2012, 17h38   #1
Membre régulier
 
Inscription : février 2007
Messages : 240
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2007
Messages : 240
Points : 78
Points : 78
Par défaut Vérifier si une cellule a une couleur de fond rouge, sans Macros

Bonjour,

Pourriez vous me dire si il est possible de vérifier si une cellule a un fond de couleur rouge s'il vous plaît ?

Car j'ai mis des mises en formes conditionnelles sur les colonnes B à R afin que la cellule soit rouge si l'utilisateur ne respecte pas les conditions prédéfinies (chaque colonne a une mise en forme conditionnelle différente)

Par exemple dans la colonne C c'est la civilité, donc si l'utilisateur saisie "Mr" ça sera en rouge car l'AS400 n'accepte que : "M.", "Mme" ou "Mlle"

L'idée, c'est qu'en première ligne (qui sera cachée), on est le chiffre 1 si dans la colonne il y a au moins une cellule en rouge, et le chiffre 0 si toute est ok, pour avertir le logiciel d'intégration que le fichier comporte une erreur ou non

Merci par avance pour votre aide
wyzer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 18h42   #2
Membre Expert
 
Homme
Retraité
Inscription : avril 2011
Messages : 700
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Retraité

Informations forums :
Inscription : avril 2011
Messages : 700
Points : 1 460
Points : 1 460
Bonjour,

As-tu envisagé d’utiliser une liste de validation avec les 3 textes M, Mme et Mlle ?
Mieux vaut éviter l’erreur que d’avoir à la gérer.

Cordialement.
gFZT82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 20h55   #3
Membre régulier
 
Inscription : février 2007
Messages : 240
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2007
Messages : 240
Points : 78
Points : 78
Oui oui c'est déjà fait, mais j'ai tout de même mis des mises en formes conditionnelles afin de contrôler les éventuelles copier/coller
wyzer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 22h28   #4
Membre Expert
 
Homme
Retraité
Inscription : avril 2011
Messages : 700
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Retraité

Informations forums :
Inscription : avril 2011
Messages : 700
Points : 1 460
Points : 1 460
Voici un lien qui traite du même sujet
http://excel.developpez.com/faq/?pag...mmeCouleurFond

Cordialement.
gFZT82 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/01/2012, 11h33   #5
Membre régulier
 
Inscription : février 2007
Messages : 240
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2007
Messages : 240
Points : 78
Points : 78
Merci, j'ai déjà vu ce lien

Le soucis c'est que cette technique ne prends en compte les changements de couleurs qu'après revalidation de la formule

Je pensais trouver une formule du genre :

Code :
=SI(FOND(A3:A65536;ROUGE)>0;1;0)
Mais on a tous le droit de rêver
wyzer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2012, 13h21   #6
Membre Expert
 
Homme
Inscription : décembre 2011
Messages : 566
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2011
Messages : 566
Points : 1 081
Points : 1 081
Bonjour,

Citation:
Je pensais trouver une formule du genre :
=SI(FOND(A3:A65536;ROUGE)>0;1;0)
Il n'y plus qu'à la créer en utilisant le code VBA.

Code :
1
2
3
4
5
6
7
8
9
10
Public Function IsFondColor(r As Range, couleur As Long) As Boolean
    IsFondColor = False
    Dim c As Range
    For Each c In r
        If c.Interior.color = couleur Then
            IsFondColor = True
            Exit For
        End If
    Next c
End Function
Comment créer des fonctions personnelles

Mais plutôt que de tester la couleur pour obtenir une valeur numérique,
je pense que le choix le plus raisonnable est de revoir la conception du fichier pour,
afficher le résultat numérique suivant les conditions souhaitées. (éventuellement dans des lignes/colonnes cachées)
Puis tester la valeur numérique pour afficher la couleur correspondante.
BlueMonkey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 10h39   #7
Membre régulier
 
Inscription : février 2007
Messages : 240
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2007
Messages : 240
Points : 78
Points : 78
Merci pour ta réponse, mais je ne peux pas utiliser de Macros, car on ne veut pas se prendre la tete à expliquer à tous nos clients comment activer les Macros.

Donc la trame doit etre entierement faite sans Macros.
wyzer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 12h32   #8
Membre Expert
 
Homme
Inscription : décembre 2011
Messages : 566
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2011
Messages : 566
Points : 1 081
Points : 1 081
Bonjour,

Ma réponse précédente comportait 2 options.
La 2ème solution ne faisait pas appel aux macros.

Elle est basée sur le même principe que
Citation:
La première ligne (qui sera cachée), on est le chiffre 1 si dans la colonne il y a au moins une cellule en rouge, et le chiffre 0 si toute est ok, pour avertir le logiciel d'intégration que le fichier comporte une erreur ou non
Simplement en la transposant aux colonnes de façon à ne pas avoir à tester la couleur,
mais une valeur numérique.
La mise en forme conditionnelle pourrait elle aussi utiliser ce résultat de test, plutôt que de le refaire

Cette solution ne convient pas non plus ?
BlueMonkey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 12h57   #9
Membre régulier
 
Inscription : février 2007
Messages : 240
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2007
Messages : 240
Points : 78
Points : 78
Ah oui désolé j'ai oublié de répondre à la deuxiéme partie

A la base le fichier a été conçu de cette façon, mais pour éviter les formules interminables je voulais que la condition vérifie uniquement le fond de la couleur. Comme ca je n'aurais qu'à mettre de longues formules que dans les mises en formes conditionnelles .
wyzer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 14h18   #10
Membre Expert
 
Homme
Inscription : décembre 2011
Messages : 566
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2011
Messages : 566
Points : 1 081
Points : 1 081
Juste pour être sûr que la solution ne convienne pas,
Après promis j'arrête

Citation:
éviter les formules interminables
En plaçant le résultat de test dans une cellule adjacente à la cellule à tester (voir image),
la formule de test (cellule) doit avoir la même longueur que dans la mise en forme conditionnelle.



Et si l'affichage du test intermédiaire est gênant, il suffit de masquer les colonnes, ou bien de faire le test dans une autre feuille.
BlueMonkey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2012, 17h51   #11
Membre régulier
 
Inscription : février 2007
Messages : 240
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2007
Messages : 240
Points : 78
Points : 78


Pareil, j'y ai déjà pensé, mais on doit diffuser le plus léger fichier possible à nos clients et cette solution nous amène à 2,3 Mo (et en ne mettant les formules que sur une colonne !!)

Donc la seule solution, les formule matricielles
wyzer est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h04.


 
 
 
 
Partenaires

Hébergement Web