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 :

Incrementer des dates


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 32
    Par défaut Incrementer des dates
    Bonjour,
    J'ai crée deux boutons pour augmenter et diminuer une date d'un mois à chaque clic, le soucis est que m'a date s'incrémente de jours en jours et non mois par mois
    Voici mon code pour descendre les mois (Le meme pour les montée avec -I)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub moins_un()
     
    Dim moins_un As Date
     
            For I = 1 To 1 'compteur pour enlever 1 mois a la date en I2
                moins_un = Cells(2, 9) - I
                Cells(2, 9) = moins_un 'mettre dans la boucle pour visualiser le Chgt de mois
     
            Next I
     
    End Sub
    Peut être avec la correspondance en VBA de MOIS.DECALER mais je ne connais pas !

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, voir ceci

    P.-S.:
    1 - Ici ce n'est pas un forum VBA
    2 -Balise ton code

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par yolojo Voir le message
    For I = 1 To 1 'compteur pour enlever 1 mois a la date en I2
    Ceci est vraiment d'une totale inutilité et pourrait être remplacé par un simple I = 1 qui, lui-même, ne servirait à rien : il est inutile d'utiliser une variable pour un usage unique juste sur la ligne suivante. Autant mettre directement la valeur.

    J'ai crée deux boutons pour augmenter et diminuer une date d'un mois à chaque clic, le soucis est que m'a date s'incrémente de jours en jours et non mois par mois
    https://msdn.microsoft.com/fr-fr/lib.../gg251759.aspx

    Pour diminuer d'un mois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub moins_un()
         Cells(2, 9) = DateAdd("m", Cells(2, 9), -1)
    End Sub
    Mais il est inutile de faire une macro pour ça puisqu'il existe déjà une formule Excel qui s'en charge :
    https://support.office.com/fr-fr/art...5-753ae47ee4f5

  4. #4
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 32
    Par défaut
    Merci beaucoup pour ces interventions.
    Pour le Lien de KIKI29, je n'arrive pas à l'ouvrir quand au code de Menhir, il me renvoie une erreur de d'execution 1004 !
    J'ai également cherché à le faire directement sous excel sans crée de Macro, mais je ne sais pas executer l'action d'un bouton sans macro !
    Je conçois que mon ignorance en excel ou VBA puisse agacer, mais je ne le fait volontairement exprès !
    Je ne demande qu'à apprendre
    je me suis néanmoins dépatouiller avec mon problème en conservant mon code pour faire varier la valeur de la cellule I2 de + ou - 1 en fonction des clics sur mes deux boutons (type barre de defilement)
    Ensuite j'ai additionné cette valeur à la date d'origine

    =DATE(ANNEE(A1);MOIS(A1)+I2;1)

    Ce n'est surement pas le plus simple ni le plus conventionnel pour ce genre de chose mais au moins, cela a le mérite de fonctionner.
    Encore merci de votre aide
    Cordialement

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    =DATE(ANNEE(A1);MOIS(A1)+I2;1)
    Ce n'est surement pas le plus simple ni le plus conventionnel pour ce genre de chose mais au moins, cela a le mérite de fonctionner.
    Non, ça ne fonctionne pas.
    Essaye de mettre en A1 "25/12/2010" et de mettre 1 en I2.
    On peut imaginer que ta formule va donner le 01/01/2011, non ?
    He bien non, ça te donnera 01/01/2010.

    Autrement dit, au lieu d'ajouter 1 mois, ça reviendra de 11 mois en arrière.
    Parce que tu ne gères pas les années.

    Ta demande concernait une formule VBA mais cette dernière formule laisse à penser que tu veux une fonction Excel.
    Dans ce cas, voici une fonction qui fait la même chose que celle que tu présentes... mais qui fonctionne.
    Si en plus tu veux que ce soit le début de mois qui soit affiché (ce que tu n'avais pas indiqué dans ta demande) :

  6. #6
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 32
    Par défaut
    Ok le plus simple est que je vous envoi le fichier pour que vous compreniez mes besoins
    L'idée est de recréer dans l'onglet "Suivi" le modèle (en mieux) de la feuil2, à savoir de pouvoir faire defiler les mois (avec les boutons oranges + et -) mais surtout de pouvoir faire suivre les données rentrées dans le tableau en fonction du mois affiché.
    C'est un tableau que je dois compiler et renseigner toutes les semaines. Par la suite, je souhaiterais me faire un tableau de bord (Formulaire) qui recenserait toutes les informations en temps réel et avec lequel je pourrais saisir toutes les données qui renseignaient ce fichier.
    Bien sur, j'en suis totalement incapable de la faire seul. Je compte donc sur les bonnes âmes charitables de ce forum pour m'aiguiller.
    Pour info , le fichier est une version simplifié et comportera beaucoup plus de lignes
    Merci d'avance
    Cordialement
    Fichiers attachés Fichiers attachés

  7. #7
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par yolojo Voir le message
    Ok le plus simple est que je vous envoi le fichier pour que vous compreniez mes besoins
    Comme beaucoup de participants à ce forum, je n'ouvre pas les pièces jointes, surtout celles pouvant contenir des macros, entre autre pour les raisons indiquées ici :
    https://www.developpez.net/forums/d8...s-discussions/

    L'idée est de recréer dans l'onglet "Suivi" le modèle (en mieux) de la feuil2, à savoir de pouvoir faire defiler les mois (avec les boutons oranges + et -) mais surtout de pouvoir faire suivre les données rentrées dans le tableau en fonction du mois affiché.
    Les réponses qui t'ont été données permettent de faire ça aussi bien avec des fonctions Excel que du code VBA.

Discussions similaires

  1. [XL-2007] Pb Macro : Incrementation de date dans des champs spécifique
    Par sly77400 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/03/2014, 09h39
  2. [XL-2007] [Novice] Incrementer des dates
    Par fasedan dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/09/2011, 18h39
  3. [MCD] [MCD] Gestion des dates
    Par brionne dans le forum Schéma
    Réponses: 3
    Dernier message: 30/05/2003, 13h01
  4. Réponses: 3
    Dernier message: 19/03/2003, 15h19
  5. Fonctions de manipulation des chaines et des dates
    Par Fares BELHAOUAS dans le forum Débuter
    Réponses: 3
    Dernier message: 09/11/2002, 22h43

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