[excel/vba] aide sur calcul de date

Résolu
Bonjour,

voila j'ai un morceau de code comme suit

activecell=datedebut.txt
ActiveCell.NumberFormat = "dd/mm/yyyy"

j'aimerais que dans la cellule juste a coté donc activecell.offset (0,1) je puisse obtenir la date 7 jours plus tard
Configuration: Windows 2000
Internet Explorer 6.0

16 réponses

  1. Salut,

    En supposant que ta date initiale set en B4, teste cette formule.
    Si la cellule B4 est formaté en Date tu n'as pas besoin de cette ligne
    ActiveCell.NumberFormat = "dd/mm/yyyy"

    Sub Macro1()
    Range("B4").Select
    ActiveCell.Offset(0, 1).Select
    ActiveCell.FormulaR1C1 = "=RC[-1]+7"
    End Sub

    A+
    1. Contributeur
      peut etre pourrais tu m'aider pour autre chose

      sur une userform j'ai un zone ou je dois saisir une date.

      la date s'insere ensuite dans une cellule excel. j'aimerais qu'a l'insertion la cellule prenne le format date de la manière suivante

      dd/mm/yyyy

      si je tape 15/12/2008 tout va bien

      si je tape 01/12/2008 dans ma cellule excel j'obtient 12/01/2008

      pourquoi ?
      1. Regardes dans format/cellule sélectionnes date et contrôle tes paramètres régionaux que ce soit bien France de sélectionné

        sinon ajoute une ligne à ton code VBA

        Selection.NumberFormat = "mm/dd/yyyy"

        A+
        1. Contributeur
          les parametres sont bien sur francais

          j'ai mis le format de cellule mais suivant les dates j'obtient des résultats différents

          si je met 30/11/2008 ou 15/11/2008 pas de soucis

          si je met 10/11/2008 j'obtient en affichage dans ma cellule 11/10/2008 mais ds la barre de formule excel j'ai bien 10/11/2008
          1. SI TU FAIS FORMAT/CELLULE/NOMBRE ET DATE es que ça change

            ou personnalisé et sélectionnes ou saisis mm/jj/aaaa

            Sinon mets une copie de ce fichier que l'on voit

            avec ce lien

            https://www.cjoint.com/

            A+
            1. J'ai l'impression que mon post s'est perdu

              Alors actives ta cellule et vas sur format/cellule/nombre/date et attribu un format

              pas de modif, alors toujours dans format etc ... /personnalisé et sélectionnes ou saisis jj/mm/aaaa

              si pas de solution joint une copie que l'on voit ça avec ce lien

              https://www.cjoint.com/
              1. Contributeur
                ce qui est bizarre c'est que dans mon code vba j'ai bien spécifié le format de date et qu'a la base mes cellules excel n'ont pas de format.

                ce que je ne comprend c'est que certaines dates marchent et pas d'autres
                1. PARCE QUE CERTAINES CELLULES SONT EN FORMAT TEXTE CERTAINEMENT

                  ENVOI UNE COPIE, NOUS GAGNERONS DU TEMPS PARCE QUE JE DOIS M'ABSENTER UN MOMENT

                  A+
                  1. Contributeur
                    malheureusement je ne peux pas envoyé ce fichier pour préserver les données

                    par contre je me suis rendu compte d'une chose : si le jour est compris entre 1 et 12 la fonction ne marche pas

                    par exemple

                    12/10/2008 j'obtient 10/12/2008
                    13/10/2008 j'obtient 13/10/2008
                    1. Contributeur
                      c bon j'ai trouver

                      en fait le probleme venez de ma textbox

                      je prenais comme valeur textbox.txt

                      la j'ai mis

                      activecell=textbox
                      activecell.numberformat="dd/mm/yyyy"
                      1. IL y avait une bricole, mais difficile à contrôler sans voir le fichier. le principal est que tout marche.

                        Si ton problème est résolu, n'oublis pas de mettre ton statut en résolu ou fais me le savoir que je le mette

                        A+
                        1. Contributeur
                          je reviens sur mon probleme

                          grace a un bouton je recopie certaines lignes de mon tableau ds une autre feuille

                          en faisant la copie j'ai a nouveau ce souci de date

                          je comprend pas pourquoi
                          1. Salut,

                            Comme cela difficile à dire.

                            enregistres ton fichier sous pour le dupliquer, réduit le nombre de ligne et colonne ainsi que les onglet, supprimes ou remplaces les données confidentielles et mets le sur le forum avec le lien du post 7.

                            A+
                            1. Contributeur
                              Bonsoir,

                              les dates en vba excel sont souvent mal gérées, comprises comme date au format anglais.
                              Essaie en utilisant la fonction format()
                              eric
                              1. Contributeur
                                après plusieurs recherche j'ai fini par utiliser la fonction Cdate.

                                le probleme est résolu