Récupérer l'année d'un format date au format integer

  • Initiateur de la discussion Initiateur de la discussion Lsg
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

Lsg

Guest
Bonjour.
Je veux récupérer l'année d'une date contenue dans la cellule A5 de la feuille 1.
Cette celule est au format JJ/MM/AAA et contient 24/08/2008 (dans mon exemple).
Je voudrais l'importer dans une variable integer.
(dim Annee as integer)

Ai tenté :
a) Annee = Year (Sheets(1).Range("A5"))
b) Annee = val (Year(Sheets(1).Range("A5")))
et même
c) Annee = val (cstr(Year(Sheets(1).Range("A5"))))

mais j'ai toujours un erreur de type (erreur d'xécution 13, incompatibilité de type).

Pourriez vous m'aider svp.

Merci.



Lsg
 
Re : Récupérer l'année d'un format date au format integer

Bonjour

je viens de faire ceci et pas de problème

Sub toto()
Dim annee As Integer
annee = Year(Sheets(1).Range("A5"))
End Sub

=> Avais tu bien encodé une date complète dans une cellule déclarée comme étant de format date ? Je viens encore de le tester, toujours le même message d'erreur !
 
Dernière modification par un modérateur:
Re : Récupérer l'année d'un format date au format integer

Bonjour Pascal Lsg le forum,
en retard mais moi j'avais fait
année = Format(Feuil1.Range("a5"), "yyyy")
a+
papou

=> Merci Papou, celà m'a aidé :Tel quel, j'avais un message d'erreur du fait que Format retourne un string.
Ai donc modifié en Annee = Val (Format....)

Et ça marche !

Merci à tous 😎
 
Re : Récupérer l'année d'un format date au format integer

Bon, il y a manifestement un truc qui m'échappe :
1) Mon code initial fonctionne chez PascalXLD, pas ici...
2) Le code de Papou me retourne... le jour (au lieu de l'année)!

Je vais donc me dépanner avec
"Annee = Val(Right(Format(Feuil1.Range("a5"), "yyyy"), 4))"
Ce code marche mais ça fait gros bricolage tout de même...

Mais je reste ouvert à toute tentative d'explication pou autre formulation plus propre
 
Re : Récupérer l'année d'un format date au format integer

Bonsoir Lsg, Pascal le forum
Moi j'avais essayé chez moi avec mon code et j'avais bien le retour de l'année!!!!
Je pense que ton souci est dans le format de ta cellule A5
car yyyy qui retourne le jour j'ai jamais vu cela !!
bref quand tu auras trouvé n'hésites pas a nous dire quoi car perso je ne sais plus quoi te dire de plus.
bonne soirée
papou
 
Re : Récupérer l'année d'un format date au format integer

Bonsoir à tous

une autre solution peut être...

Code:
annee = Year(CDate(Sheets(1).Range("A5").Value))

A voir, comment est considéré par Excel le contenu de ta cellule.

nonne soirée
@+
 
Re : Récupérer l'année d'un format date au format integer

Bonsoir,

J'obtiens le message de Lsg si par exemple je fait :

Sub Test()
Annee = Year(Sheets(1).Range("A5"))
End Sub

Et que dans A5, il y a par exemple 12345678
voir le fichier joint.

Peut etre Lsg pourrait poster un morceau de fichier avec la date qu'il utilise ...
 

Pièces jointes

Dernière édition:
Re : Récupérer l'année d'un format date au format integer

Tout d'abord, merci à tous de votre aide !!!

Je deviens fou.... Ai repris le fichier de test de Catrice : Dans le fichier test, il fonctionne. Dans mon fichier, pas (malgré le format de la cellule qui est identique) !!!

Conclusion : Il doit y avoir quelque chose de lié à la cellule ou au classeur qui vient "pourrir" l'exécution du code... A moins que ce ne soit parce que j'ai Visual Basic installé sur mon pc qui vienne interagir avec VBA ???

Je vais donc reproduire tout cela sans un NOUVEAU classeur et sur un autre pc pour être fixé.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
1 K
Z
Réponses
0
Affichages
558
Z
J
Réponses
22
Affichages
3 K
jui42
J
Retour