XL 2019 Composition de date

  • Initiateur de la discussion Initiateur de la discussion Fipat
  • 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 !

Fipat

XLDnaute Occasionnel
Bonjour,

Je fais un travail sur une macro sur un classeur avec des dates.
Mon souci est que je n'arrive pas à extraire la date comme saisie dans mon tableau.
Le format n'est pas le même.
J'utilise la fonction DateSerial.
Format de recherche saisi dans mon tableau> J/M/A
Format de sortie de l'extraction > M/J/A
La variable est :
VB:
Dim DT As Date
DT = DateSerial(Year(Range("B6").Value), Month(Range("B6").Value), Day(Range("B6").Value))
Avez-vous une idée ? J'utilise pas la bonne fonction ?
L'extraction est bonne et coordonne mais l'affichage n'est pas le même.
Merci pour votre retour.
 
Bonsoir @Fipat,

Votre question est plus qu'imprécise et vague.
Une expression apparaissant visuellement comme une date sur une feuille excel peut être un tas de choses :
  • une date avec un format
  • un texte repésentant une date
  • tantôt une date, tantôt un texte (surtout pour importation de dates de type J/M/A) et donc tantôt juste tantôt fausse.
  • voire autre chose
Le traitement des dates est loin d'être évident surtout quand on jongle entre date US et date FR.

Le plus simple est de fournir un fichier avec vos données de départ, vos résultats souhaités et, encore mieux, avec votre macro.
 
Re @Fipat,

Voici une macro censée faire ce que vous désirez pour ce que j'en ai compris. La macro est dans le module attachée à la feuille "export". Je n'ai pas su quoi faire de vos mentions de format de date 🙄. Il faudra sans doute nous le préciser.

Je ne commente jamais mes codes 🙁 sauf si on me le demande. Et dans ce cas, je le fais avec plaisir 🙂.

Concernant votre propre macro (qui si j'ai bien lu est relativement claire. Juste peut-être un manque d'expérience dans l'écriture mais le principe est là et tout y est):
Utilisez en début de code l'option "Option Explicit" qui vous oblige à déclarer toute variable avant de l'utiliser. Cela permet de repérer les fautes de frappe concernant les noms des variables et de réfléchir à ce que doit contenir cette variable et donc quel type lui attribuer.

Une variable qui sert d'indice de boucle de numéro ligne ou numéro de colonne devrait être déclarée comme long. Le nombre de ligne au sein d'une feuille peut dépasser le million ! Avec nos machines actuelles, déclarer une variable d'indice en long ne gaspille pas de mémoire 😉

Si vous ne déclarez pas une variable comme tableau dynamique, vous ne pourrez pas la redimensionner avec "Redim Preserve" :
VB:
Sub testA()    'plante
Dim t
   ReDim Preserve t(1 To 2, 1 To 5)
End Sub

Sub testB()    'OK
Dim t()
   ReDim Preserve t(1 To 2, 1 To 5)
End Sub

Sub testC()    'plante
   ReDim Preserve t(1 To 2, 1 To 5)
End Sub

Attention! Si le résultat dépasse 16 684 colonnes, on ne pourra pas stocker le résultat dans le tableau final pour le transposer. Il faudra utiliser une autre méthode pour l'affichage.
 
Dernière édition:
re
bonsoir
oulah @mapomme en a oublié la partie la plus importante
redim preserve ne peut redimensionner qu'une dimension
par conséquent
quand t = 0 item ca marche
par contre des que t contient 1 ou x items seule la dernière dimension peu être redimensionnée

conclusion par conséquent c'est la méthode elle même est une erreur de toute les manière
a bon entendeur
 
Bonjour,

je ne suis pas sur de comprendre.
Pour ma part je l'écrit ainsi
VB:
Dim tb() As Variant
Dim i As Integer
i= 1
ReDim Preserve tb(1 To 5, 1 To i)

Mon souci pour la date ce que DateSerial ne renvoi pas j/m/Année mais m/j/année.
Alors que cette fonction devrait renvoyer j/m/A
 
je ne comprends toujours pas. Quand je passe mes cellules de la recherche en format Anglais(états unis) cela affiche correctement la date soit le 02/01/19
Le souci est que je ne récupère pas l'année entière.
Merci pour vos idées.
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
267
Réponses
2
Affichages
330
Réponses
5
Affichages
703
Réponses
6
Affichages
432
Réponses
3
Affichages
224
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
370
Retour