IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Des dates, des couleurs et une somme.


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 017
    Points : 308
    Points
    308
    Par défaut Des dates, des couleurs et une somme.
    Hello à tous,
    Alors voila, je veux faire un truc un peu compliqué.
    J'ai une feuille excell avec dans la colonne A une date.
    Dans la collone B je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(A5<>"";DATE(ANNEE(A5);MOIS(A5)+1;JOUR(A5));"")
    pour ajouter un mois à la date qui est dans A (si il y a une date).

    Maintenant je voudrais ajouter deux choses à cette page :

    1/ Je voudrais que quand la date qui est dans B est dépassée par rapport à la date du jour ça mette la ligne en rouge.

    2/ Je voudrais que quand la ligne est rouge le contenu de la cellule G de cette ligne se recopie en J.

    ATTENTION : il faudrait que ce soit réversible --> si je change la date d'une ligne ou si je l'efface la ligne doit repasser en noir et le contenu de la cellule G de la ligne concernée doit être effacé.

    3/ Je voudrais si possible que sans aucune intervention de ma part la feuille soit classée automatiquement avec la date la plus récente au dessus et la plus ancienne en dessous.

    C'est vraiment trois trucs trop évolués pour moi et je pige rien à VB et ces trucs la. Je ne sais pas s'il y a moyen de faire ça simplement mais je ramme depuis des semaines.

    Conseils, exemples, démos, tutos et autres bien venus :-)

    Merci d'avance...

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 907
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 907
    Points : 28 882
    Points
    28 882
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour la mise en rouge de la ligne, il suffit de passer par une mise en forme conditionnelle.
    Sélectionner les lignes concernées à partir de la ligne 2, si celle-ci est la première ensuite aller dans Format/Mise en forme conditionnelle... et là sélectionner 'La formule est' et taper cette formule et choisir le format.
    Remplacer ToDay par AUJOURDHUI() ou bien prévoir une cellule nommée 'ToDay' où l'on place =AUJOURDHUI()
    Pour la recopie de la cellule G en J, il suffirait de placer une condition en J mais sans autre
    information il est difficile de savoir si la proposition est correcte.
    Pour le tri des lignes par date, là je ne vois rien d'autre que du code VBA.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 017
    Points : 308
    Points
    308
    Par défaut
    Merci Corona de ta réponse.
    Malheureusement je ne suis pas très doué et je ne comprends rien à tes explications, mais peut être est ce mes explications de départ qui ne sont pas claires.

    Si tu pouvais jeter un coup d'œil sur ma feuille qui est ici : http://homeusers.brutele.be/intmixa/divers/A.xlsx...

    En fait le résultat que je voudrais obtenir c'est que la feuille se classe toute seule pour que les factures les plus anciennes (et donc venues à échéance depuis le plus longtemps) soient au dessus et en rouge.
    D'autre part je voudrais que quand elles sont venues à échéance le montant à payer se recopie dans la colonne "Reste à payer" car la somme de cette colonne s'indique en bas pour que je sache combien le client me doit.

    L'idée c'est en fait que j'encode les factures quand je les envoi au client et que par la suite quand j'ouvre la feuille je vois direct quels factures sont à échéance et combien le client me doit.

    Peux tu m'aider ?

    Merci encore.

    A bientôt.

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 907
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 907
    Points : 28 882
    Points
    28 882
    Billets dans le blog
    53
    Par défaut
    Bonsoir,
    Pour la mise en rouge des factures dont l'échéance est dépassée et dont la facture n'est pas payée.
    1 - Sélectionner les plages concernées, c'est à dire dans ton cas A5:I27
    2 - Cliquer dans la barre des menus sur Format/Mise en forme conditionnelle...
    La boîte de dialogue de Format conditionnelle va s'afficher.
    Dans Condition 1, sélectionner La formule est
    Dans la zone à côté de Condition 1 entrer cette formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ET($B5<AUJOURDHUI();$I5<>0)
    Avec cette formule, la ligne reprendra son format initial dès que la facture sera payée totalement ou si l'échéance n'est pas dépassée.
    3 - Pour éviter les problèmes d'arrondis, il est conseillé de remplacer ta formule qui se trouve en colonne G par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ARRONDI((((F5/100)*21)+F5);2)
    Pour le tri automatique par date, là il faudrait passer par du VBA.
    Personnellement, je réorganiserais la feuille pour avoir le titre en ligne 1 et les mouvements sur les autres lignes.
    Tu pourrais par exemple créer une feuille pour le facturier de sortie et une feuille pour les mouvements bancaires où tu reprendrais dans une colonne la référence des factures payées. Ainsi tu pourrais remplir la colonne H automatiquement par exemple à l'aide de la fonction SOMME.SI
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Des dates, des dates oui mais des Panzanis
    Par bonuxis dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 29/07/2009, 17h27
  2. regex pour comparer des dates, des chiffres, des nombres
    Par lex13 dans le forum Collection et Stream
    Réponses: 14
    Dernier message: 06/07/2007, 11h51
  3. Liste des dates se trouvant dans une période
    Par mooh91 dans le forum Access
    Réponses: 1
    Dernier message: 17/09/2006, 00h46
  4. Comment mettre des lignes de couleur dans une TCheckListBox ?
    Par Isa31 dans le forum Composants VCL
    Réponses: 9
    Dernier message: 31/03/2005, 08h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo