[excel/vba] aide sur calcul de date [Résolu/Fermé]

Signaler
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
-
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
-
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

16 réponses

Messages postés
17232
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 septembre 2020
4 252
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+
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 125
ok je vais tester

merci
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 125
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 ?
Messages postés
17232
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 septembre 2020
4 252
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+
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 125
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
Messages postés
17232
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 septembre 2020
4 252
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+
Messages postés
17232
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 septembre 2020
4 252
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/
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 125
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
Messages postés
17232
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 septembre 2020
4 252
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+
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 125
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
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 125
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"
Messages postés
17232
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 septembre 2020
4 252
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+
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 125
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
Messages postés
17232
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 septembre 2020
4 252
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+
Messages postés
23499
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 septembre 2020
6 358
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
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 125
après plusieurs recherche j'ai fini par utiliser la fonction Cdate.

le probleme est résolu