Aide pour une MFC à trois conditions en VBA

George.B212

XLDnaute Nouveau
Bonjour,

voici un fichier model. il permet de mieux visualiser ce que j'ai besoin.

J'aurai besoin d'une MFC, qui permet de colorer des lignes en fonctions des données se trouvant dans la colonne G et H

en soit, c'est simple
si G = une date, coloré la ligne en bleu
si H = une date, la ligne bleu se colore en Vert.

le souci est.... si G = une date précédent au mois en cours, les lignes, dont H sont vides, se colorent en Jaune.
(dans le fichier model, le lignes en bleu des mois précédents, sont là pour l'exemple)

Cette macro, devrait fonctionner pour les douze premières feuilles du fichier, les suivantes ne doivent pas être liées à la macro.

Merci d'avance pour votre aide.
 
Dernière édition:

Jacou

XLDnaute Impliqué
Re : Aide pour une MFC à trois conditions en VBA

Bonsoir Georges, bonsoir le forum (ou plutôt bonne nuit :))

Tes MFC pourraient ressembler à celle du fichier joint.
Mais attention pour que ça fonctionne, il ne faut pas oublier les accents dans les noms des onglets.

à noter qu'il n'y a pas de macro; les MFC sont dans la feuille. pour les appliquer au mois d'octobre par exemple, le 1er octobre tu copies la feuille "Sept" (menu déplacer ou copier une feuille), tu la renommes "Octo" et en filtrant ta colonne H tu supprimes toutes les lignes qui ont une date en H.

Bon courage

PS - même si ton chef change d'idée ce serait sympatique que tu nous dises si cela fonctionne ou pas (je fais référence à tes précédentes demandes lol):rolleyes:
 

Pièces jointes

  • Test_V1 Georges.xlsx
    29.2 KB · Affichages: 29
Dernière édition:

George.B212

XLDnaute Nouveau
Re : Aide pour une MFC à trois conditions en VBA

Bonsoir Jacou,
Concernant les MFC selon trois conditions,
J'ai quelques soucis avec la formule se rapportant au nom de la feuille "mmmm"
Il s'avert que je ne puis tronquer les noms des mois. Je dois les laisser en entier.
Pourrais-tu m'aider dans cette correction?

Concernant ta remarque sur la copie des données, les feuilles nommées par mois, sont déjà existantes. Elles comportent déjà des liens vers d'autres feuilles comportant des reports de données globales. Pour recopier les données nécessaire au mois en cours (ex: septembre), j'utilise le filtre des données sur la feuille du mois précédent et je masque ce que je n'ai pas besoin. Puis, je copie ce qui me reste, soit les lignes ne comportant pas de date dans la seconde colonne (date d'acquisition de marchandise).
Pour la copie des données, nous pratiquons comme cela.
Mais avec les précédentes formules, mois après mois, je me retrouvais avec des disfonctionnements dans mes MFC que je n'arrive pas à m'expliquer (d'où ma demande de MFC en VBA). Les commandes ne sont pas effectuées, ou se sont les lignes adjacentes supérieur ou inférieur qui sont activées par les MFC.

J'aurais une demande supplémentaire,
toujours dans le même cas de figure, mais cette fois-ci, les feuilles toujours nommées par mois (en entier),
ont deux conditions:
1 = en jaune, si les lignes comprenant une date dans la colonne "E" se rapportant au mois précédent de la feuille en cours (ex: Septembre)
2= en vert, si les lignes comprenant une date dans la colonne "F" (la formule =estnum fonctionne bien);

(les dates dans la colonne "F", sont par obligation, soit égale, soit postérieur aux dates de la colonne "E")


Je te remercie pour ton coup de main.
Bonne soirée
 

George.B212

XLDnaute Nouveau
Re : Aide pour une MFC à trois conditions en VBA

Rebonjour,

Je recherche toujours une MFC selon une date donnée dans des cellules d'une colonne.
Je m'explique : Si la date de la cellule de la colonne "D" est antérieur au mois en cours (selon =aujourdhui() ), colorer en Jaune
(ex: aujourdhui, le 08.09.2015, la cellule D3 comporte la date du 31.08.2015, alors colorer en jaune).
Il serait aussi bien, si cette formule gère, les mois précédents et les années.
j'essaie en sélectionnant la totalité des colonnes avec la formule dans MFC :
=DATEDIF($D1;AUJOURDHUI();"m"))>=1
Mais ce n'est pas concluant. Toutes les cellules vides sont colorées également.

Il faut savoir aussi que j'utilise deux autres formules, pour avoir d'autres couleurs automatiques
=estnum(D1) en bleu si la date est durant le mois en cours
=estnum(E1) en vert si une date de fin y est inscrite.

Merci d'avance pour un coup de main
 

George.B212

XLDnaute Nouveau
Re : Aide pour une MFC à trois conditions en VBA

Bonsoir Jacou,

ce que j'aimerai, c'est que les trois formules, fonctionnent correctement.
Chacune des feuilles (12 au total), devraient fonctionner indépendamment
les lignes du mois en cours (bleu) ne devraient pas être tributaires du nom des feuilles mais selon la date du jour réelle (me suis dit que c'est plus simple).
Voici un fichier, qui me permet de tester les formules.
 

Jacou

XLDnaute Impliqué
Re : Aide pour une MFC à trois conditions en VBA

Bonjour George
Dans tes MFC, si tu utilises la formule DATEDIF($D2;AUJOURDHUI();"m"), le résultat pour une date en D2 = 10/08/2015 est 0 et 1 pour le date 09/08/2015.
Si j'ai bien compris ce que tu souhaites, je modifierais la formule en DATEDIF($D2;DATE(ANNEE(D2);MOIS(D2);1);"m").

Bonne journée
 

George.B212

XLDnaute Nouveau
Re : Aide pour une MFC à trois conditions en VBA

Bonjour Jacou,
Merci pour ta correction de formule, mais je dois constater que la formule DATEDIF($D2;DATE(ANNEE(D2);MOIS(D2);1);"m") pour une condition, combinée avec les deux autres conditions, ne fonctionne pas.
Utilisée toute seule, elle me colore uniquement la cellule B2.
La condition Verte (en position 1) devrait donner les états de ventes terminées. Et elle fonctionne. Meme sans les autres conditions.
La condition Bleu (en position 2) me colore les lignes si une date (quelconque) est inscrite : cette condition ne me plait qu'à moitié, étant donné que j'aimerai que les lignes en Bleu soient selon le mois en cours uniquement.
La condition Jaune (en position 3) devrait me colorier les lignes si la date en "D" est antérieur au moins en cours (selon la date du jour) et qu'aucune date ne soient insérer en colonne "E".
Les Conditions Bleu et Jaune, ne fonctionnent pas correctement.
Merci pour ton aide.
 

Jacou

XLDnaute Impliqué
Re : Aide pour une MFC à trois conditions en VBA

Bonjour Georges,
Essaie cette version.
J'ai modifié la formule de la seconde condition :
=ET(ESTNUM($D1);DATEDIF(DATE(ANNEE($D1);MOIS($D1);1);AUJOURDHUI();"m
Il faut bien faire attention dans les formules des MFC que les lignes correspondent bien à la première ligne de la zone d'application. Dans notre cas comme on l'applique à des colonnes entières, il faut faire référence à la ligne 1 et non à la ligne 2 comme c'était le cas dans ta formule.
Bon courage
Jacou
 

Pièces jointes

  • Test_V2 Georges.xlsx
    15.3 KB · Affichages: 24

George.B212

XLDnaute Nouveau
Re : Aide pour une MFC à trois conditions en VBA

Bonsoir Jacou

je viens de prendre connaissance de ton message.
Je ne manquerai pas de revenir si jamais. Mais je pense que cela devrait jouer tip top.
Cela devrait même passer le cap du copier/coller.
Merci beaucoup. C'est une des épines du pied qui est retirée.
Encore merci.
 

Discussions similaires

Réponses
8
Affichages
150

Statistiques des forums

Discussions
312 500
Messages
2 089 013
Membres
104 004
dernier inscrit
mista