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

Retour à un format prédéfini apres une mise en forme conditionnelle via VBA

Poto

XLDnaute Occasionnel
Bonjour le forum, salut à tous,

je cherche à faire une mise en forme conditionnelle via vba (jusqu'ici pas de probleme) avec la possibilité de retourne à une mise en forme predefini, sur une autre sheet, lorsque aucune condition ne n'ai rempli.

je joins un fichier avec dans la feuille 1 une colonne verte dans laquelle on peut choisir une activité ( ON ou OFF). Lorqu'on choisi l'un des 2 choix, la mise en forme s'execute, mais lorsque j'efface l'activité (cad qu'il n'y a ni ON ni OFF dans la cellule), alors j'aimerai que la mise en forme de ces cellules reviennent à un état similaire à celui de la "référence" ce situant sur une autre feuille (Feuil2) et se nommant "FormatPlanning".
Afin de pourvoir repérer quel format doit etre appliquer je penser utiliser les numeros ID se situant colonne A.

Voici le code utiliser actuellement


toute aide/idée est la bienvenue et je suis ouvert à d'autre technique alternative (à savoir que je souhaite passer par cette technique plutot que par une mise en forme conditionnelle conventionnelle, car la feuille sur laquelle cete macro doit fonctionner fait plus de 4000 lignes et l'exemple ci joins ce repete plus de 300 fois, et c'est une galere a maintenir si une colonne ou une ligne est ajouté)

merci d'avance à tous

Poto
 

Pièces jointes

  • Probleme Planning.xls
    44.5 KB · Affichages: 64
  • Probleme Planning.xls
    44.5 KB · Affichages: 69
  • Probleme Planning.xls
    44.5 KB · Affichages: 66

Poto

XLDnaute Occasionnel
Re : Retour à un format prédéfini apres une mise en forme conditionnelle via VBA

Super, merci beaucoup PierreJean

ca fonctionne nikel
comme je suis curieux et que j aime bien savoir coment les choses fonctionne, pourrais tu m'explquer a quoi sert "flag" dans ton code ?? c est un control d'erreur ?

merci encore beaucoup de ton aide


Pour ceux que ca interesse ( j'ai vu qu'il y a quelques demande sur la mise en forme conditionnelle aujourd'hui, voici le code retoucher par pierrejean et 100% fonctionnel ;

 

pierrejean

XLDnaute Barbatruc
Re : Retour à un format prédéfini apres une mise en forme conditionnelle via VBA

Re

Il s'agit d'une des methodes pour eviter d'avoir une macro qui boucle indefiniment
Si dans une macro worksheet_change je crée un changement , ce changement lancera a nouveau la worksheet_change qui creera un changement qui lancera .....
L'idée est donc qu'entre le flag=true et le flag=false la worksheet soit inoperante d'ou le if flag then exit sub du debut
 

Poto

XLDnaute Occasionnel
Re : Retour à un format prédéfini apres une mise en forme conditionnelle via VBA


merci beaucoup pour l'info

sinon, juste une derniere question en restant sur le sujet... Existe t il une methode utilisant la mise en forme conditionnelle conventionnelle pour qu'une cellule se dise :"Si la cellule à ma droite contient le texte "ON", mon remplissage prend telle couleur " ???

merci encore pour tes éclaircissements
 

pierrejean

XLDnaute Barbatruc
Re : Retour à un format prédéfini apres une mise en forme conditionnelle via VBA

Re

Il me semble qu'avec 2007/2010 la formule soit pour la cellule K2 : =J2="ON"
ensuite il suffit de reproduire la mise en forme pour qu'Excel interprete le 'cellule a ma droite'
 

Poto

XLDnaute Occasionnel
Re : Retour à un format prédéfini apres une mise en forme conditionnelle via VBA

Salut pierrejean,

je reviens vers toi car apres plusieurs essai, j'arrive pas à faire ceci:

ensuite il suffit de reproduire la mise en forme pour qu'Excel interprete le 'cellule a ma droite'


que voulez tu dire par reproduire la formule pour qu'excel interprete "la cellule a ma droite" ??
car la formule fonctionne mais la cellule ce colore que vers la gauche, pas vers la droite

une idée ?


merci d avance

Poto
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…