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 :

Copier une date x fois et incrementer +1 mois à chaque fois


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Janvier 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Janvier 2015
    Messages : 13
    Points : 4
    Points
    4
    Par défaut Copier une date x fois et incrementer +1 mois à chaque fois
    Bonjour,

    Je souhaite copier une date (se trouvant dans une cellule, dans une feuille spécifique) un nombre de fois défini, à partir de la cellule "B2" de ma "feuil3".

    Jusque là, tout va bien pour moi, j'avais récupéré ce bout de code qui fonctionnait parfaitement pour une liste copier une liste un nombre de fois défini dans la première cellule vide de la colonne A.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    nblin=Range("A800000").End(xlUp).Row
     
    Dim Copiage As Range, Dl As Long, x As Integer
    Set Copiage = Range("A2:A" & nblin)
    For x = 1 To 11
      With Sheets("Feuil3")
        Dl = .Range("A" & .Rows.Count).End(xlUp).Row + 1
        Copiage.Copy .Range("A" & Dl)
      End With
    Next x
    Je voudrais pouvoir faire la même chose mais en copiant la date (définie en variable) x nombre de fois dans la colonne B et incrémenter cette date de +1 mois à chaque retour de boucle.

    Pourriez-vous m'aider ?
    j'ai encore du mal avec les boucles ...

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juillet 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2015
    Messages : 32
    Points : 25
    Points
    25
    Par défaut
    Salut Soisfran !

    Dans un premier temps, corrige ta syntaxe en rajoutant le "F" de For

    De plus , souhaites-tu passer aussi aux années quand ton mois atteint 13 ? Ou incrémenter uniquement jusqu'à 12 te suffit ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Janvier 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Janvier 2015
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    Slt Quentin,

    Ah oui, désolé, mauvais copier/coller de ma part.
    Je modifie mon message en ajoutant le "F" de for !

    Pour le code, oui, en effet, il va falloir passer à l'année suivante quand cela sera nécessaire, la date de base étant glissante (renseignée par l'utilisateur), 11 fois sur 12, la période sera calée sur 2 années ...
    Je ne sais pas si quelque chose du style "MOIS.DECALER" en vba serait possible ...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Déjà il faut déterminer le nombre de jours entre la date elle même et le début du mois de la dite date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    J = datedif("d",cdate(format(ladate,"yyyy-mm-01")),ladate)
    'il faut connaitre le 1 du mois suivant!
    ' mle moi le plus petit fait 28 jours +7 jours je suis forcément le moins suivant
    Mp=cdate( format( cdate( format(ladate,"yyyy-mm-28"))+7,"yyyy-mm-01")
    'il me reste qu'à ajouter le nombre de jours!
    MP=mp + j

  5. #5
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Janvier 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Janvier 2015
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    Slt rdurupt,

    merci, je teste ça et fais mon retour !

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heu
    ola robert !!
    tu a oublié que l'on a des outils pour ce genre de travail
    voila un exemple
    qui demarre du 20/01/2015 et termine 20 mois plus tard
    observebien la variable NB_JOURS
    avec cette methode tu n'a meme pas besoins de gérer les années elle s'incrementent toutes seules en ajoutant les jours manquants
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
        Dim madate,i 
    madate = "20/01/2015"
        For i = 1 To 20
            NB_JOURS = Day(DateSerial(Year(madate), Month(madate) + 1, 1) - 1)
            madate = CDate(madate) + NB_JOURS
            Debug.Print madate
        Next
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    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 764
    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 764
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour Patrick,
    tu a oublié que l'on a des outils pour ce genre de travail
    Tu as 100% raison en parlant d'outils disponibles mais moi j'aurais opté pour la méthode DataSeries

    Exemple de l'incrémentation d'1 mois sur des dates comprises entre janvier 2014 et décembre 2015.
    La première date en cellule A2 de la feuille active et l'écriture se fait en colonne (il suffit de remplacer la constante xlColumns en xlRows de l'argument RowCol] pour écrire en ligne.
    Les autres paramètres sont également intéressants. Je renvoie à l'aide en ligne

    La procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub IncrementerDate()
     With ActiveSheet.Range("A2")
     .Value = DateSerial(2014, 1, 1): .NumberFormat = "ddd* dd/mm/yyyy"
     .DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:=xlMonth, stop:=DateSerial(2015, 12, 1)
     End With
    End Sub
    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

  8. #8
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour Philippe et à tous,

    Hier, en lisant la question, il me semblait que c'était possible dans Excel. On met(trait) mettant la date initiale, disons, en A1, la deuxième date, disons en a2 et on recopierait vers le bas. Il me semblait que cela n'incrémenterait que le mois; à la condition de ne pas changer ni l'année, ni le jour.

    Sauf, que le truc en question incrémente le mois et le jour. Je me demande si je n'ai pas rêvé ou si j'ai mal fait mon truc.
    Mais bon, cela ne m'empêche pas de dormir, et il n'y a pas d'urgence, juste de la curiosité.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  9. #9
    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 764
    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 764
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour Clément,
    Non, tu n'as pas rêvé.
    La méthode que j'ai proposée provient de l'outil Série qui permet d'incrémenter une date par jours, jours ouvrés, semaine (Jour+7), mois, années, etc.
    Une bonne connaissance des outils d'excel permet de mieux programmer en VBA pour Excel
    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

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bien vu philippe

    ca reproduit un peu l le principe de Selection.AutoFill Destination:=Range...........

    je garde
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    oui clement le principe de copie incremente le jour et le mois
    mais dans l'exemple de philippe
    il y a les arguments xlmonth qui implique l'incrementation que des mois et stop pour une date de fin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:=xlMonth, stop:=DateSerial(2015, 12, 1)
    

    vraiment bien vu
    je dormirais moins bete ce soir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #12
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re bizarre bizarre
    j'ai souvent besoins de faire cet exercice
    et je viens de tester l'incrementation par jours
    bien entendu la date en rouge est invalide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub IncrementerDate()
     With ActiveSheet.Range("b2")
     .Value = DateSerial(2015, 2, 1): .NumberFormat = "ddd* dd/mm/yyyy"
     .DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:=xlDay, stop:=DateSerial(2015, 2, 31)
     End With
    End Sub
    le resultat est surprenant les jours supplementaires sont bien incrementés mais dans une forme valide c'est a dire en l'occurence ici on passe a "MARS"
    surprenant qu'il n'y ai pas de message d'erreur

    y a t il une variable dans cette fonctuion qui pourrait m'arréter au dernier jour du mois ????
    intéréssant
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  13. #13
    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 764
    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 764
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour Patrick,
    On pourrait penser en effet que la fonction DateSerial a un comportement curieux
    Dans la ligne de code ci-dessous, la cellule A1 aura comme date le 3/3/201 soit 3 jours après la véritable fin de mois de février 2014. Comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").Value = DateSerial(2014, 2, 31)
    Tout comme la fonction d'excel
    C'est la raison pour laquelle on peut avoir le dernier jour du mois qui précède le mois de février
    Soit le jour avant le 1er
    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

  14. #14
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re domage
    re
    c'est quand meme domage de devoir utiliser 2 fois la fonction sous ses deux forme pour obtenir la fin

    mais bon rien n'est parfait dans ce monde hein!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub IncrementerDate()
     With ActiveSheet.Range("b2")
     .Value = DateSerial(2015, 2, 1): .NumberFormat = "ddd* dd/mm/yyyy"
      NB_JOURS = Day(DateSerial(2015, 2 + 1, 0))
     .DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:=xlDay, stop:=DateSerial(2015, 2, NB_JOURS)
     End With
    End Sub
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stop:=DateSerial(2015, 3, 0)
    heu j'oubliais merci philippe
    ta version pour travailler sur la grille excel ,la mienne pour travailler sur une variable tableau nickel...
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  15. #15
    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 764
    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 764
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour Patrick,
    c'est quand meme domage de devoir utiliser 2 fois la fonction sous ses deux forme pour obtenir la fin
    J'avoue ne pas bien comprendre.
    Il y a une date de début et une date de fin donc il est évident qu'il faille employer au moins deux fois la fonction DateSerial dans ce cas de figure. Cependant c'est toi qui te force à l'utiliser trois fois en passant par une variable intermédiaire.
    Ceci fonctionne correctement également
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub IncrementerDate()
     With ActiveSheet.Range("B2")
     .Value = DateSerial(2015, 2, 1): .NumberFormat = "ddd* dd/mm/yyyy"
     .DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:=xlDay, stop:=DateSerial(2015, 2 + 1, 0)
     End With
    End Sub
    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

  16. #16
    Candidat au Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Janvier 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Janvier 2015
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Tout d'abord, merci de vos réponses, j'ai essayé de comprendre les différents codes que vous avez mis, c'est à peu près bon pour moi.

    JMais je n'ai pas réussi à faire exactement ce que je veux:
    Le code suivant me permet d'incrémenter un mois à la madate, jusqu'à madate2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    madate = Workbooks("adherence_previsions.xlsm").Worksheets("Outil_ADH_PRE").Range("F11").Value
    madate2 = Workbooks("adherence_previsions.xlsm").Worksheets("Outil_ADH_PRE").Range("H11").Value
     With ActiveSheet.Range("B2")
     .Value = DateSerial(Year(madate), Month(madate), Day(madate)): .NumberFormat = " dd/mm/yyyy"
     .DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:=xlMonth, stop:=DateSerial(Year(madate2), Month(madate2), Day(madate2)): .NumberFormat = " dd/mm/yyyy"
     End With
    Ce qui me donne en colonne B

    28/09/2014
    28/10/2014
    28/11/2014
    28/12/2014
    28/01/2015

    Ce que j'essaie de faire maintenant, c'est de coller chaque date X fois, x correspondant à un nblin plus haut dans la macro... Mais là, je bloque ...

    J'espère être assez clair ...

  17. #17
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    Bonjour Philippe et à tous,

    Hier, en lisant la question, il me semblait que c'était possible dans Excel. On met(trait) mettant la date initiale, disons, en A1, la deuxième date, disons en a2 et on recopierait vers le bas. Il me semblait que cela n'incrémenterait que le mois; à la condition de ne pas changer ni l'année, ni le jour.

    Sauf, que le truc en question incrémente le mois et le jour. Je me demande si je n'ai pas rêvé ou si j'ai mal fait mon truc.
    Mais bon, cela ne m'empêche pas de dormir, et il n'y a pas d'urgence, juste de la curiosité.
    Bonjour clementmarcotte et à tous,
    Ce que je viens de tester et qui marche c'est
    - en A1 : 01/01/2015
    - en A2 : 01/02/2015
    - On sélectionne les 2 cellules
    - On prend la poignée et on tire et là seul le mois s'incrémente une fois arrivé à la fin d'année il revient sur le 1 Janvier en ayant incrémenter l'année de +1

    Ceci juste pour répondre à clément Je pense que c'est de cela que tu parles, chez cela marche très bien. As tu bien saisie une bonne Date ?

    Bonne journée à tous
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  18. #18
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour philippe et a tous
    oui je suis d'accords avec toi c'est pur ca que j'ai mis un "ou" avec dateserial avec (2015,3,0)
    ce que je voulais dire c'est que je trouve dommage qu'il n'y ai pas une constante du genre (2015,2,xlendday) ou quelque chose comme ca

    c'est tout
    en tout cas en voulant aider un forumeur j'ai connu cette methode pour moi c'est tout benef
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  19. #19
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour

    Citation Envoyé par Igloobel Voir le message
    Bonjour clementmarcotte et à tous,
    Ce que je viens de tester et qui marche c'est
    - en A1 : 01/01/2015
    - en A2 : 01/02/2015
    - On sélectionne les 2 cellules
    - On prend la poignée et on tire et là seul le mois s'incrémente une fois arrivé à la fin d'année il revient sur le 1 Janvier en ayant incrémenter l'année de +1

    Ceci juste pour répondre à clément Je pense que c'est de cela que tu parles, chez cela marche très bien. As tu bien saisie une bonne Date ?

    Bonne journée à tous
    Merci à tous pour vos réponses. Je n'avais pas le temps d'élaborer hier, mais je vais compléter aujourd'hui. En fait, c'est quelque chose que j'avais découvert par hasard, il y a quelques mois, ou même peut-être quelques années. J'avais initié une opération quelconque à la souris que j'avais ratée pour une raison ou pour une autre et j'avais trouvé des mois incrémentées automatiquement.

    En reprenant la réponse ci-haut, et en refaisant ce que j'ai fait hier, J'ai vu la différence. (Excel 2010)

    En sélectionnant juste la cellule du bas, on obtient une recopie incrémentée "ordinaire" et une balise active qui permet de modifier le résultat au besoin
    En sélectionnant les deux cellules, cela se passe comme tu l'as dit, plus la même balise active

    Et puis, si on sélectionne une ou de cellules et que l'on fait Ctrl+la poignée de recopie incrémentée, on effectue une copie "ordinaire".

    En tout cas, merci à tous. C'est une déviation n'a peut-être pas vraiment répondu à la question originale. Mais, comme toujours, si cela peut quand même aider quelqu'un, ce ne sera pas perdu.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  20. #20
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonsoir a tous
    clement et igoobel
    vous avez tendence a oublier quelque choses d'important
    c'est que selectionner 1 ou 2 cellule pour alloger la selection copiant ainsi la date en l'incrémentant implique de travailler sur le sheets actif et oblige a selectionner
    a mediter
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. creer une date avec l'annee et le mois donnés
    Par Xeuch dans le forum Langage
    Réponses: 1
    Dernier message: 16/04/2013, 18h10
  2. [XL-2003] Comment copier une date d'un TextBox vers un fichier Excel
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/09/2010, 01h14
  3. [Toutes versions] Copier une date sans inverser le jour et le mois
    Par peofofo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/05/2009, 17h29
  4. Réponses: 3
    Dernier message: 21/01/2007, 10h40

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