[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. Contributeur
    après plusieurs recherche j'ai fini par utiliser la fonction Cdate.

    le probleme est résolu
    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. 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
          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. 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
              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. 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. 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
                    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. 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. 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. 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. 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
                              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. 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+