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 :

Augmenter la date d'une cellule automatiquement en fonction d'aujourd'hui [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 62
    Points
    62
    Par défaut Augmenter la date d'une cellule automatiquement en fonction d'aujourd'hui
    bonjour,

    j'ai une cellule qui contient un numero qui présente des mois d'un contrat, et dans une autre feuille je récupéré ce numéro et j'affiche les mois correspondant , exemple si dans la cellule j'ai 12. dans l'autre feuille s'affiche mois 1 , mois 2 jusqu’à 12
    donc , ce que j'aimerais faire , c'est a la place d'afficher mois 1 , afficher le mois et l'année présent ex juillet 2015, après a la place de mois 2 on aura aout 2015 ...


    Mercii

  2. #2
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    Bonjour Merryy,

    En supposant que ton parametre est en A1 (chiffre de 1 a 12) tu peux mettre en [B1:B12] :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(LIGNE()<=$A$1;TEXTE(DATE(SI(MOIS(AUJOURDHUI())+LIGNE()-1>12;ANNEE(AUJOURDHUI())+1;ANNEE(AUJOURDHUI()));MOD(MOIS(AUJOURDHUI())+LIGNE()-2;12)+1;1);"mmmm aaaa");"")
    Je te laisse adapter aux bonnes feuilles et bonnes lignes.

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 62
    Points
    62
    Par défaut
    Merciii ,

    par contre , moi je travail avec vba , pas fonctions d'excel , c'est dynamique .

  4. #4
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    Ma formule n'est pas dynamique ?
    Et en plus rien à exécuter.

    Si faut vraiment, tu peux mettre l'équivalent VB de ma formule Excel.

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 62
    Points
    62
    Par défaut
    je comprends pas la formule en excel pour la changer vers vba c'est ça

  6. #6
    Membre expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Points : 3 016
    Points
    3 016
    Par défaut
    Bonjour,

    Pourquoi ne pas créer directement une fonction avec pour retour le contenu de Dateadd, quelque chpse de ce style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Function foncdate(nbmois) As Date
    If Range("A1", ActiveCell).Columns.Count <= nbmois Then foncdate = DateAdd("m", Range("A1", ActiveCell).Columns.Count, Date)
    End Function

  7. #7
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    T'es formules vont bouger de places ? Si non, tu as juste a les mettre a l'endroit voulu et elle se recalculent lorsque le paramètre du nombre de mois change.

    C'est ce que j'avais compris avec ton premier post. Si c'est ça le soucis précise qu'on puisse t'aider mieux que ça.

  8. #8
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 62
    Points
    62
    Par défaut
    j'ai une feuille résumé ou il a toutes les informations d'un contrat d'achat, dans cette feuille ya la durée en mois et ya la date du début de contrat , donc pour faire un suivi budgétaire des opérations associé a cette contrat , j'ai crée un autre feuil ou il s'affichent automatiquement dans un range , le nombre des mois par rapport au contrat , et puisque ya des un contrat qui dépasse 1 an , ça serait difficile de savoir mois 5 correspondant à quoi (par exemple), c'est pour ça je voulais a la place des mois 1 2 ... affiché les vrai mois en débutant par la date de contrat car elle présente le premier mois .
    donc si dans la cellule A5 par exemple de feuille "resume" ya 24 (durée en mois)
    et la cellule A6 ya septembre 2015
    il affiche ça pour le moment:
    mois 1
    mois 2
    ...
    mois 24
    je veux avoir une succession comme ci-dessous:
    septembre 2015
    octobre 2015
    novembre 2015
    ...
    ça serait plus pratique pour les utilisateurs de l'outil , voila

  9. #9
    Membre expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Points : 3 016
    Points
    3 016
    Par défaut
    Bonjour,

    pourquoi ne pas utiliser la valeur MOIS.DECALER?
    En supposant en Feuil1 A1, la date du contrat et en A1 la valeur où afficher la date décalée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MOIS.DECALER(FEUIL1!$A$1;CELLULE(LIGNE(A1)-1)
    Il ne reste qu'à rajouter un test pour ne pas dépasser la durée du contrat


    Pour avoir accès à MOIS.DECALER, il faut activer dans les macros complémentaires, Utilitaire d'analyse.

  10. #10
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 62
    Points
    62
    Par défaut
    bonjour carden752 ,
    c'est exactement ce que j'ai fais avec la fonction DateAdd("m", s, nb) en VBA ,
    Merciiii

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

Discussions similaires

  1. [XL-2010] Remplir une cellule automatiquement avec fonction SI
    Par nadyves dans le forum Conception
    Réponses: 3
    Dernier message: 19/12/2013, 08h00
  2. affichage de date dans une cellule Excel
    Par darkspoilt dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/08/2007, 10h41
  3. Réponses: 9
    Dernier message: 14/06/2007, 16h43
  4. date dans une cellule de jTable
    Par norkoffire dans le forum Composants
    Réponses: 4
    Dernier message: 14/06/2007, 16h27
  5. convertir le contenu d'une cellule automatiquement sous excel
    Par boboz2 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/12/2006, 19h33

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