XL 2013 Revenir à 001 en début d'année

murainesouspatate

XLDnaute Occasionnel
Bonjour à tous,

Je souhaiterais connaitre comment changer la valeur d'une cellule au 1er janvier.
Petite explication, je donne un numéro d'imputation sur un devis au 1er janvier celui-ci est égale à "001". et à chaque nouveaux devis le numéro est à suivre.
Serait-il possible de le faire revenir à "001" à chaque 1er janvier ? (sans macro).

Merci pour ce petit coup de pouce et bonne journée à tous.

Bien le bonjour de la Nouvelle Calédonnie !
 

job75

XLDnaute Barbatruc
Bonjour murainesouspatate, CISCO, le forum,

Voyez le fichier joint et cette formule en D5 pour le numéro du devis :
Code:
=(ANNEE(F5)=ANNEE(AUJOURDHUI()))*D5+(CELLULE("address")=CELLULE("address";D3))
Et en F5 pour la date :
Code:
=SI(CELLULE("address")=CELLULE("address";D3);AUJOURDHUI();F5)

Le calcul itératif est activé (onglet Fichier-Options-Formules).

Bonne journée.
 

Pièces jointes

  • Devis(1).xlsx
    15.7 KB · Affichages: 25

job75

XLDnaute Barbatruc
Re,

Je remarque que quand on télécharge le fichier (1) ou qu'on modifie son nom les fonctions CELLULE("address") renvoient #N/A, il faut alors revalider D5 ou F5 ce qui les remet à zéro...

Pour éviter ce problème j'ai modifié les formules en D5 et F5 :
Code:
=(ANNEE(F5)=ANNEE(AUJOURDHUI()))*D5+ESTNUM(LN(CELLULE("address")=CELLULE("address";D3)))

=SI(ESTNUM(LN(CELLULE("address")=CELLULE("address";D3)));AUJOURDHUI();F5)
Fichier (2).

A+
 

Pièces jointes

  • Devis(2).xlsx
    15.7 KB · Affichages: 17

job75

XLDnaute Barbatruc
Re,

Dans ce fichier (3), grâce à la cellule A5, on peut forcer/réinitialiser la numérotation en D5.

Nouvelle formule en D5 :
Code:
=SI(ESTNUM(LN(CELLULE("address")=CELLULE("address";A5)));A5;(ANNEE(F5)=ANNEE(AUJOURDHUI()))*D5+ESTNUM(LN(CELLULE("address")=CELLULE("address";D3))))
A+
 

Pièces jointes

  • Devis(3).xlsx
    16.3 KB · Affichages: 22

murainesouspatate

XLDnaute Occasionnel
Bonjour job75,
ta solution est aussi excellente et je t'en remercie, désolé d'avoir omis de te répondre hier soir.
je te souhaite une bonne journée et te dis à bientôt sur ce forum.
je te souhaite de bonnes fêtes de noël en direct de la Nouvelle Calédonnie.
Encore merci de tes réponses .
 

job75

XLDnaute Barbatruc
Bonjour murainesouspatate, CISCO, le forum,

Je ne vois pas du tout comment vous arrivez à utiliser la formule de CISCO :

- comment incrémentez-vous les numéros ?

- que faites-vous si l'ordinateur n'est pas ouvert le 1er janvier ?

- et a priori tous les devis créés le 1er janvier auront le même numéro 001, non ?

Bonne journée.
 

CISCO

XLDnaute Barbatruc
Bonjour à tous

Bonjour murainesouspatate, CISCO, le forum,
...
- comment incrémentez-vous les numéros ?
Effectivement, ma proposition ne prend pas en charge l'incrémentation des devis. Je supposai qu'une autre formule, dans une autre cellule, le faisait.

- que faites-vous si l'ordinateur n'est pas ouvert le 1er janvier ?
- et a priori tous les devis créés le 1er janvier auront le même numéro 001, non ?
Bonne journée.

Et voui..., d'où les points à la fin de ma proposition.

@ plus
 

job75

XLDnaute Barbatruc
Bonjour,

Le jeu d'enfant :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [D3]) Is Nothing Or Target(1) = "" Then Exit Sub
[D3].Select
[D5] = IIf(Year(Val([F5].Value2)) = Year(Date), Val([D5]), 0) + 1
[F5] = Date
End Sub
A+
 

Pièces jointes

  • Devis VBA(1).xlsm
    21.4 KB · Affichages: 20

Discussions similaires

Statistiques des forums

Discussions
311 729
Messages
2 081 971
Membres
101 852
dernier inscrit
dthi16088