Formule date

0

Bonjour,

Je cherche a mettre dans une seul cellule 

Ecrire une date et en écrivant la date que sa me rajoute 1an en plus 

Je sais que cela est possible avec 2 cellule mais moi je voudrai sa dans une seul cellule 

Posté le 11 août 2023, 11:57
par Totof77
Répondre
1

Bonjour Totof77,

tu as écrit : « je voudrais ça dans une seule cellule »

ok, mais si c'est dans une seule cellule, c'est impossible de le faire
par formule ; on est obligé d'écrire un code VBA pour le faire, et
c'est la macro qui va se charger de faire ce travail.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

je te propose ce fichier Excel :

https://www.cjoint.com/c/MHlm0PhtdP0

à toi de faire des essais.  :)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

code VBA de Feuil1 (14 lignes) :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  With Target
    If .CountLarge > 1 Then Exit Sub
    If .Address <> "$C$2" Then Exit Sub
    If .Value = "" Then Exit Sub
    If Not IsDate(.Value) Then Exit Sub
    Application.EnableEvents = 0
    .Value = DateAdd("yyyy", 1, .Value)
    Application.EnableEvents = -1
  End With
End Sub

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

si besoin, tu peux demander une adaptation ;
à te lire pour avoir ton avis.  :)

rhodo

rhodo Posté le 11 août 2023, 15:06
par rhodo
  • Bonjour J’ai mit emplace ton code sur mon tableau excel Mais le probleme j’ai plusieur cellule a mettre exemple c3 a c7 Merci de ton aide – Totof77 21 août 2023, 10:02
0

Je connaissais même pas le code VBA merci pour cette découverte

Comment on crée comment on crée un code VBA ? 

Merci beaucoup pour ton aide 

Posté le 11 août 2023, 21:41
par Totof77
0

@Totof77

VBA est le langage de programmation des applications Office (Word, Excel, etc...) ;
VBA est le sigle de « Visual Basic for Application ».

dans un code VBA, les macros sont faites en écrivant des Sub ou des Function ;
Function = Fonction ; Sub = abréviation de Subroutine = Sous-programme.

comment on crée un code VBA ? les débutants peuvent utiliser l'Enregistreur de
macros (mais ça crée un code général non optimisé) ; ceux qui s'y connaissent
mieux peuvent écrire un code VBA (optimisé) directement dans l'Éditeur VBA
(c'est la fenêtre "Microsoft Visual Basic" que tu vois quand tu fais Alt F11 ; puis
fais de nouveau Alt F11 pour revenir sur la fenêtre d'Excel)
.

rhodo

rhodo Posté le 11 août 2023, 22:58
par rhodo
0

@rhodo

J’ai essayer beaucoup de choses mais j’ai pas trouver 

Comment je peut faire avec ton code pour mettre plusieur cellule 

Exemple c2 a c5 et e3 a e8

Merci de ton aide 

Posté le 21 août 2023, 19:47
par Totof77
0

Bonjour Totof77,

sur mon post du 11 août à 15:06, ton commentaire du
21 août à 10:02 mentionne les cellules C3 à C7.

dans ce cas, dans mon code VBA, remplace cette ligne :

If .Address <> "$C$2" Then Exit Sub

par celle-ci :

If Intersect(Target, [C3:C7]) Is Nothing Then Exit Sub

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

ton post précédent du 21 août à 19:47 mentionne
les cellules C2 à C5 et E3 à E8.

dans ce cas, la ligne doit être celle-ci :

If Intersect(Target, [C2:C5, E3:E8]) Is Nothing Then Exit Sub

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

ne modifie rien d'autre, et ça devrait être ok.  :)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

exemple de fichier pour la plage unique C3:C7 :

https://www.cjoint.com/c/MHwsDArwEU0

rhodo

rhodo Posté le 22 août 2023, 15:48
par rhodo
0

Merci rhodo pour ta grande aide 

Maintenant je voudrai faire la meme choses mais pour ajouter 2 ans et un autre pour ajouter 6mois 

Je penser qu’il fallait juste modifier le 1 par 2 sur ce code 

 .Value = DateAdd("yyyy", 1, .Value)

Et mettre un m au lieux des yyyy

 .Value = DateAdd("m", 6, .Value)

Mais sa ne fonctionne pas 

J’ai essayer de le mettre en 3 fois ton code avec les 3 changement de date 

Merci beaucoup rhodo

Posté le 24 août 2023, 13:25
par Totof77
0

@Totof77

ce que tu as indiqué est bon :

pour ajouter 2 ans : .Value = DateAdd("yyyy", 2, .Value)
pour ajouter 6 mois : .Value = DateAdd("m", 6, .Value)

rhodo

rhodo Posté le 24 août 2023, 17:18
par rhodo
0

@Totof77

je te propose cette version v3https://www.cjoint.com/c/MHArMzqQWa0

fais des saisies de dates dans les cellules sur fond jaune clair.  :)

le type d'ajout est noté en ligne 11 ; mais c'est valable seulement
pour LA COLONNE OÙ C'EST NOTÉ, pour les cellules jaunes
situées au-dessus
.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

code VBA du module de Feuil1 (18 lignes) :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim s$, k As Byte
  With Target
    If .CountLarge > 1 Then Exit Sub
    If Not Intersect(Target, [C2:C5]) Is Nothing Then s = "yyyy": k = 2 _
      Else If Not Intersect(Target, [E3:E8]) Is Nothing Then s = "m": k = 6 _
      Else If Not Intersect(Target, [H4:H6]) Is Nothing Then s = "ww": k = 3
    If k = 0 Then Exit Sub
    If .Value = "" Then Exit Sub
    If Not IsDate(.Value) Then Exit Sub
    Application.EnableEvents = 0
    .Value = DateAdd(s, k, .Value)
    Application.EnableEvents = -1
  End With
End Sub

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

essaye d'adapter cet exemple à ton cas réel.  :)

rhodo

rhodo Posté le 25 août 2023, 11:27
par rhodo
0

@Totof77

Lis d'abord mes 2 posts précédents, du 24 août et du 25 août.  :)

si tu n'as pas réussi à adapter mon exemple à ton cas réel, tu dois envoyer
un fichier Excel exemple, en précisant quelles sont les plages de cellules
tu fais ta saisie ET le type d'ajout pour chaque plage concernée par
cet ajout (par exemple : pour J7:J12, il faut ajouter 5 mois).

selon l'organisation de tes données dans ton fichier réel (et selon le type
d'ajout
)
, il faudra peut-être une autre méthode de codage VBA.

pour joindre ton fichier : va sur le site de partage de fichiers cjoint.com
(c'est gratuit, et c'est très bien expliqué comment 
faire) ; tu devras coller
dans ton prochain post 
ici le lien de téléchargement que tu auras copié
sur cjoint.com (avec le clic droit).

sans réponse de ta part, ça signifiera que c'est réglé,
et que tu n'as plus besoin d'aide pour cet exo.  :)

rhodo

rhodo Posté le 26 août 2023, 17:55
par rhodo
0

@Totof77

attention : dans mon post du 25 août à 11:27, j'ai remplacé
mon fichier joint par un autre (code VBA plus optimisé).  :)

donc si tu l'avais déjà téléchargé avant, tu dois de nouveau
le télécharger afin d'avoir la nouvelle version.

sous le fichier joint, dans le post, j'ai mis le nouveau code
VBA
; il est mieux écrit, et il fait maintenant 18 lignes.  :)

rhodo

rhodo Posté le 26 août 2023, 19:46
par rhodo
0

@rhodo

Désoler de ne pas avoir repondu je n’avais pas vu

Est ce que tu aurai une adresse mail a me communiquer car le fichier excel est priver et je ne peut pas le diffuser sur internet 

Sa commence a devenir technique pour moi

Posté le 28 août 2023, 09:40
par Totof77
0

@Totof77

sur ce site, il n'y a pas de messagerie privée ; si on met son adresse mail sur
le forum (qui est par définition public), elle est visible par tous, y compris par
les spammeurs
➯ on risque de se faire inonder par des spams sur sa boîte
mail privée !
  :(

il ne faut donc pas mettre d'adresse mail personnelle sur le forum.

----------------------------------------------------------------------------------------------------------------

comme ça commence à devenir technique pour toi, je te propose d'envoyer une
copie de ton fichier excel privé où tu auras remplacé les données réelles par
des données anonymes ; fais un fichier allégé où il y a uniquement les feuilles
concernées par le problème à résoudre (ici l'addition d'un intervalle de temps
à une date saisie)
; les emplacements des cellules doivent être les mêmes
que dans ton fichier réel ; les intervalles de temps à ajouter doivent aussi être
les mêmes que dans ton fichier réel ; comme ça, tu n'auras pas à faire une
adaptation de mon prochain code VBA.  :)

----------------------------------------------------------------------------------------------------------------

d'un autre côté, dans mon code VBA, voici la seule partie à changer :

If Not Intersect(Target, [C2:C5]) Is Nothing Then s = "yyyy": k = 2 _
  Else If Not Intersect(Target, [E3:E8]) Is Nothing Then s = "m": k = 6 _
  Else If Not Intersect(Target, [H4:H6]) Is Nothing Then s = "ww": k = 3

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

au bout d'la 1ère ligne, y'a s = "yyyy": k = 2 ➯ ajout de 2 ans, pour la plage de
cellules C2:C5 ; pour un type d'ajout de 2 ans, si c'est aussi pour les 2 plages
K12:K16 et P24:P32, alors dans la 1ère ligne du test If mets :

[C2:C5, K12:K16, P24:P32] à la place de [C2:C5].

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

au bout d'la 2ème ligne, y'a s = "m": k = 6 ➯ ajout de 6 mois, pour la plage de
cellules E3:E8 ; tu peux ajouter d'autres plages de cellules à E3:E8 comme tu
l'as fait pour C2:C5 (si c'est aussi pour 6 mois).

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

au bout d'la 3ème ligne, y'a s = "ww": k = 3 ➯ ajout de 3 semaines, pour la
plage de cellules H4:H6 ; tu peux ajouter d'autres plages à H4:H6 comme
tu l'as fait pour C2:C5 (si c'est aussi pour 3 semaines).

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

tu peux ajouter d'autres lignes de code VBA au groupe du test If, mais 1 seule
ligne pour chaque intervalle de temps différent des 3 autres.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

attention : TOUTES les lignes du test If doivent se terminer par un caractère
souligné « _ » SAUF la dernière ligne du test If.

« _ » est le caractère de continuation de ligne : ça indique à VBA que la
ligne d'instruction n'est pas terminée et continue sur la ligne suivante.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

dans le code VBA, l'intervalle de temps est réellement ajouté plus bas
que dans le groupe du test If : c'est fait par cette ligne de code VBA :

.Value = DateAdd(s, k, .Value)

----------------------------------------------------------------------------------------------------------------

si tu arrives à faire toi-même TOUS les changements nécessaires, selon toutes
mes indications ci-dessus, tu n'auras même pas besoin d'envoyer un fichier
allégé avec des données anonymes
.  ;)

rhodo

rhodo Posté le 28 août 2023, 13:15
par rhodo
0

@rhodo

J’ai essayer de taper ton code sur mon fichier mais quand me met les « _ » sa me met ( erreur de compilation:erreur de syntaxe)

Et quand je retire les « _ » sa me met (erreur de compilation: else sans if)

Pensant trouver le probleme tout seul je n’y arrive pas 

Voici ce que j’ai ecrit 

Option Explicit

 

Private Sub worksheet_change(ByVal target As Range)

Dim s$, k As Byte

With target

  If .CountLarge > 1 Then Exit Sub

  If Not Intersect(target, [O2:O46]) Is Nothing Then s = "yyyy": k = 15_

   Else: If Not Intersect(target, [J2:J6]) Is Nothing Then s = "yyyy": k = 2_

   Else: If Not Intersect(target, [H2:H46]) Is Nothing Then s = "yyyy": k = 1_

   Else: If Not Intersect(target, [M2:M46]) Is Nothing Then s = "m": k = 6

  If k = 0 Then Exit Sub

  If .Value = "" Then Exit Sub

  If Not IsDate(.Value) Then Exit Sub

  Application.EnableEvents = 0

  .Value = DateAdd(s, k, .Value)

  Application.EnableEvents = -1

End With

End Sub


je vais essayer de t’envoyer le fichier mais je te promet rien 

Merci de ton aide 

Posté le 31 août 2023, 10:53
par Totof77
0

@Totof77

a) pour le caractère souligné ( _ ) : j'ai oublié de te préciser qu'il faut un
caractère espace ( ) avant le souligné : il ne doit pas être collé contre
un autre caractère (chiffre, lettre, ou autre).

b) y'a un caractère ( :en trop juste après le mot « Else » ; des fois, c'est
l'éditeur VBA qui le rajoute automatiquement, même s'il n'en faut pas ;
il faut faire très attention à cet ajout automatique de ( : ) car quand ça se
produit, il faut supprimer le ( : ) ; sans cela, ça signifie « Sinon rien »
au lieu de « Sinon la suite du code qui est à droite »
.

c) pour l'ajout de 2 ans, ça doit être J2:J4au lieu de J2:J6 : tu as oublié
le chiffre 4 ; c'est mieux de mettre les colonnes dans leur ordre naturel
(c'est juste pour une meilleure lisibilité)
 : H ; J ; M ; O ➯

pour H2:H46 : ajouter 1 an ; pour J2:J46 : ajouter 2 ans ; pour
M2:M46 : ajouter 6 mois ; pour O2:O46 : ajouter 15 ans.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

voici le code VBA corrigé, avec une petite optimisation
en plus
qui évite de mettre 3× « s = "yyyy" ».

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim s$, k As Byte: s = "yyyy"
  With Target
    If .CountLarge > 1 Then Exit Sub
    If Not Intersect(Target, [H2:H46]) Is Nothing Then k = 1 _
      Else If Not Intersect(Target, [J2:J46]) Is Nothing Then k = 2 _
      Else If Not Intersect(Target, [M2:M46]) Is Nothing Then s = "m": k = 6 _
      Else If Not Intersect(Target, [O2:O46]) Is Nothing Then k = 15
    If k = 0 Then Exit Sub
    If .Value = "" Then Exit Sub
    If Not IsDate(.Value) Then Exit Sub
    Application.EnableEvents = 0
    .Value = DateAdd(s, k, .Value)
    Application.EnableEvents = -1
  End With
End Sub

rhodo

rhodo Posté le 31 août 2023, 11:39
par rhodo
0

@rhodo

Nickel sa fonctionne 

Mais je me suis rendu compte d’un probleme pour les cellules de la colonne O donc +15ans  

Je peut avoir entre une date et 8 date differente 

Exemple O2 je voudrai mettre les date suivante 

11/06/2020

11/06/2022

11/06/2015

Y a t’il une solution ? 

Et sa pour les cellules de O2 a O46

Posté le 31 août 2023, 13:49
par Totof77
0

@Totof77

tu as écrit : « Exemple : en O2 je voudrais mettre les dates suivantes :
11/06/2020 ; 11/06/2022 ; 11/06/2015 »

si tu veux saisir ces 3 dates successivement, l'une après l'autre :
ok, y'a pas de problème :

a) en O2, tu saisis 11/06/2020 ➯ retour : 11/06/2035
b) en O2, tu saisis 11/06/2022 ➯ retour : 11/06/2037
c) en O2, tu saisis 11/06/2015 ➯ retour : 11/06/2030

bien sûr, tu peux saisir une seule date en O2, pas plus !
➯ en O2, tu ne peux pas saisir à la fois les 3 dates !

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

comme pour l'ajout de 15 ans la plage est O2:O46, ça te fait 45 cellules
où tu peux saisir une date (une seule saisie de date par cellule) ; alors
quand tu écris « Je peux avoir entre une date et 8 dates différentes »,
je ne vois pas où est ton problème : dans 45 cellules différentes,
y'a largement la place de saisir 8 dates différentes !  :)

rhodo

rhodo Posté le 31 août 2023, 14:28
par rhodo
0

Nan c’est pas ce que je veut desoler j’etait pas assez precis 

Enfaite imaginons que la cellules O2 je doit mettre plusieurs date pour raison X

Je fait alt+entree pour aller a la ligne pour pouvoir entree les 3 date que je t’ai donner 

Et pour repondre a t’as solution elle ne peut pas marcher dans mon cas vu que les ligne 2 à 46 correspond a un vehicule chacune et la lettre O correspond a plusieurs date de peremption   

Je sais pas si tu vois ce que je veut te dire 

Posté le 31 août 2023, 15:04
par Totof77
0

@Totof77

j'ai écrit : « bien sûr, tu peux saisir une seule date en O2pas plus !
➯ en O2, tu ne peux pas saisir à la fois les 3 dates ! »

et toi tu écris : « En fait imaginons que dans la cellule O2 je dois mettre
plusieurs dates pour raison X ; je fais Alt Entrée pour aller à la ligne
pour pouvoir entrer les 3 dates que je t’ai données. »

dans ce cas de saisie de plus d'une date dans une même cellule,
mon code VBA n'est plus valable ! ce que tu as bien compris car
tu as écrit :

« Et pour répondre à ta solution elle ne peut pas marcher dans mon cas
vu que les lignes 2 à 46 correspondent chacune à un véhicule et la lettre
O correspond à plusieurs dates de péremption. »

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

comme tu veux saisir plusieurs dates dans une même cellule en les
séparant par Alt Entrée, c'est bien plus compliqué à faire !  :(

rhodo

rhodo Posté le 31 août 2023, 15:19
par rhodo
0

@rhodo

Donc il y aurai pas de solution pour mon probleme ? 

Posté le 31 août 2023, 15:23
par Totof77
0

on s'est croisés ; relis entièrement
mon post précédent de 15:19.  ;)

rhodo Posté le 31 août 2023, 15:32
par rhodo
0

Oui mais tu as dit 

« dans ce cas de saisie de plus d'une date dans une même cellule,

mon code VBA n'est plus valable ! ce que tu as bien compris« 
C’est qu’il faut un autre code vba dans ce cas la ? 
Posté le 31 août 2023, 15:41
par Totof77
0

oui, c'est bien ça ; pour pouvoir traiter les cas de saisie de plusieurs dates
dans une même cellule, il faut un autre code VBA, qui sera différent.

rhodo Posté le 31 août 2023, 15:47
par rhodo
0

@rhodo 

Je vais créer une adresse mail que je supprimera afin de pouvoir t’envoier le tableau excel

Et pouvoir te communiquer tout mes besoin sa sera plus simple

Si tu es okay 

Posté le 31 août 2023, 17:07
par Totof77
0

@Totof77

je viens de lire ton post de 17:07 ; mais pour ce que tu proposes, c'est encore trop tôt : laisse-moi
d'abord essayer de trouver une solution par rapport à la saisie de plusieurs dates dans une même
cellule
; ça va prendre beaucoup de temps car c'est assez compliqué à faire.  ;)

au cas où je trouverai une solution valable, j'écrirai un post qui contiendra un petit fichier exemple ;
tu regarderas ce fichier, et s'il te conviendra, il n'y aura plus qu'à adapter à ton fichier réel (ça sera
quelques modifs simples)
 ; et peut-être que tu n'auras même pas besoin de joindre ton fichier.  ;)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

d'autre part, tu as écrit : « tous mes besoins » ; attention : ce présent sujet est uniquement pour le
problème en cours de saisie de dates avec ajout d'un intervalle de temps ; ainsi, ça correspond au
titre de ce sujet "Formule date", et sur un forum, la règle est : « 1 sujet = 1 question » ➯ si t'auras
d'autres choses à demander, tu devras créer un nouveau sujet pour chaque chose différente ; j'y
répondrai pas forcément : seulement si j'aurai une solution valable à proposer, et aussi si je serai
disponible
 (car des fois, je n'ai pas le temps de venir sur ce site)
.

juste pour info : sur les forums d'entraide, ce ne sont pas des salariés rémunérés qui répondent
de telle heure à telle heure : ce sont des bénévoles, qui répondent sur leur temps libre ➯ si par
exemple on doit s'absenter pour aller faire des courses au supermarché, on ne peut pas être
en même temps devant notre PC.  ;)

rhodo

rhodo Posté le 31 août 2023, 18:07
par rhodo
0

@rhodo

Bien comprit je ferais des nouveaux sujet pas de probleme

Apres tout prend ton temps je ne suis pas presser 

Oui je le sais bien avant tout on est humain et une vie donc c’est normal 

J’attend ton retour 

Merci de ton aide et de ton temps précieux 

Posté le 31 août 2023, 22:42
par Totof77
0

Bonjour Totof77,

j'ai trouvé une solution valable.  :)  mais ça a pris beaucoup de temps,
car ça a été bien plus compliqué que prévu
.  :(

fichier exemple, version v5 : https://www.cjoint.com/c/MIbuXFBg8T0

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

ATTENTION : pour ceux qui ont déjà téléchargé l'ancienne version v4 :
il ne faut PAS L'UTILISER, car elle contient un gros bug !  :(  ce bug,
c'est une date qui s'inverse parfois ; exemple : 02/03 qui est 2 mars
devient 03/02 qui est 3 février.  :(
   j'ai réussi à réparer ce gros bug ➯
vous pouvez télécharger la version v5 ci-dessus.  :)

j'ai aussi fait quelques améliorations ; le code VBA est de 57 lignes.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

dans une des cellules de O2:O46, tu peux saisir une seule date, OU
plusieurs dates séparées par Alt Entrée ; pour chaque date saisie,
tu peux la saisir de la façon habituelle ➯ par exemple, pour la date
du 05/08/2023, tu peux la saisir selon ces 8 façons :

a) 05/08/2023
b) 5/08/2023
c) 05/8/2023
d) 5/8/2023

e) 05/08 (comme y'a pas d'année, ça met automatiquement
l'année en cours, donc 2023)

f) 5/08 (idem)
g) 05/8 (idem)
h) 5/8 (idem)

d'autre part, pour ce qui concerne l'année :

a) si tu saisis 2/6/2020, c'est comme : 02/06/2020
b) si tu saisis 2/6/2015, c'est comme : 02/06/2015

c) si tu saisis 2/6/12, c'est comme : 02/06/2012
(car y'a un ajout automatique de 2000)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

bien sûr, quand le jour ou le mois sur 2 chiffres commencent par 0,
c'est à la fois plus simple et plus rapide de ne pas le taper ➯ saisie
accélérée.  :)

saisie accélérée aussi quand on peut taper une année sur 2 chiffres,
et aussi quand c'est inutile de taper l'année car c'est l'année en
cours
.  :)

si l'utilisateur fait une saisie de date erronée, ça ne fera pas planter
le code VBA, car la date erronée sera simplement ignorée.  ;)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

à toi de tester des saisies de dates dans ces colonnes :
H, J, M, O (lignes 2 à 46).

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

fais Alt F11 pour voir le code VBA (57 lignes).

rhodo

rhodo Posté le 1 septembre 2023, 10:20
par rhodo
0

@Totof77

désolé pour le très gros retard, mais cette fois c'est ok : le fichier est prêt.  :)

tu trouveras la version v5 dans mon post précédent, en remplacement
de l'ancienne version v4 (qui était malheureusement boguée).

je te laisse télécharger v5, et faire plusieurs tests de saisie de dates ;
à te lire pour avoir ton avis.  :)

rhodo

rhodo Posté le 1 septembre 2023, 23:12
par rhodo
0

Salut 

Désoler pour le temps passer j’ai du m’absenter  

J’ai pu essayer ton VBA c’est nickel 

Mais je rencontre un problème sur la colonne O ou je peut rentre plusieurs date 

Le problème est que quand je tape la premier date donc imaginons que je met 01/01/2000 sa va me mettre 01/01/2015 et après si plus tard je veut rajouter une 2eme date imaginons que je met 01/01/2010 sa va mettre 01/01/2025 mais sa me modifier aussi la date 01/01/2015 en lui rajoutant +15

Je suis obliger de taper toute les date en meme temps 

Y-a t’il une solution pour ce probleme ? 

Merci pour le travail que tu as fait 

Posté le 11 janvier, 13:34
par Totof77

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :