Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Inversion de dates

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

cp4

XLDnaute Barbatruc
Bonsoir,

Confronter aux problèmes d'inversion de dates, Boisgontier propose une solution sur son site. ICI
Au bas de la page
Mais je n'arrive pas à la mettre en œuvre. J'ai cette erreur

Je n'ai pas compris pourquoi. J'ai coché Microsoft Scripting Runtime.

Merci pour votre aide et explications.

Bonne soirée.
 

Pièces jointes

Bonjour cp4
Bonjour le Fil , le Forum
Pour participer pendant que vous récupérez Lol
tu dis :
Quand
VB:
 j= 1 ----> d.item(t(1,1) = cells(2,1) ' là pas compris 1ère ligne de t on prend 2ème ligne feuille?
soit :
Cells(2,1)= Cells(J+1,1)
J+1 pour prendre la Deuxième Ligne de la Colonne A ou se trouve la première Date .
en espérant avoir compris la question Lol
Bonne fin de Nuit LOL
Amicalement
Jean marie
 
Réactions: cp4
Bon_jour

Pour l'erreur signalée par l'image, cp4, ton 'VBA' a dû subir comme parfois, une modification.

En supprimant ton code et en le remplaçant par

VB:
Private Sub CommandButton1_Click()
'Dim D
Set d = CreateObject("Scripting.Dictionary")
  For Each C In [A2:A13]: d(C.Value2) = "": Next
  [D2:D13] = ""
  [D2].Resize(d.Count) = Application.Transpose(d.keys)
  [D2].Resize(d.Count).NumberFormat = "m/d/yyyy"  'si la colonne n'est pas formatée
End Sub

il n'y a plus, chez moi, d'erreur décelée sauf dans certains cas avec la transposition (problème connu n'est-ce pas Léti 🙂, JM 1 😉, JM 2 😉?).

On peut alors passer par un filtre avancé
VB:
Private Sub CommandButton2_Click()
  [F2:F13] = ""
  [A2:A13].AdvancedFilter 2, , [F2], 1
End Sub
mais la vitesse d'exécution peut s'en ressentir.

Nota : Dim D est un passe-partout (avec Option Explicit) que j'utilise quand j'ai les doigts engourdis.
 

Pièces jointes

Bonjour le fil, le forum

MADAME Leti 😉
J'y peux rien , j'y suis obligé 😉

Sinon, personne pour éclairer ma lanterne sur mon questionnement du message#12, svp ?

ChTi160 a répondu à ta question cp4 😉
(qu'il en soit remercié)
Je confirme: le décalage c'est à cause de Dates en A1 (qui n'est pas une date 😉

Si...: Même question:
Why d(C.Value2) = "" ?
 
bonsoir tous🙂

MADAME Leti😡😡😡 😉 a plusieurs explications possible dans ce cas de figure

code test on remarque beaucoup de chose intére.....
VB:
Sub es()
Dim d As Object,a,b,i as long
Set d = CreateObject("scripting.dictionary")
For Each C In [A2:A13]
d(C.Value) = C.Offset(, 1).Value2
'd(C.Value2) = C.Offset(, 1).Value2
'd(C.Value) = ""
Next C
     a = d.keys: b = d.items
   For i = 0 To d.Count - 1
   MsgBox a(i)
   MsgBox b(i)
   Next i
d.RemoveAll
End Sub

que remarque col b vide mais pas d'importance!!!

d(C.Value) = C.Offset(, 1).Value2

d(C.Value) avec offset ou pas ..... chargera quand meme le dico. keys .....items vide col2 vide
bien sur sans offset d(C.Value) = ""

msgbox a(i) nous avons no clés & pas d'inversion de date avant transpose
MsgBox b(i) vide
on peut confirmer que c'est transpose qui fout le ca..
.
dans le cas 2

d(C.Value2) = C.Offset(, 1).Value2
d(C.Value2) = ""

msgbox a(i) nous avons no clés mais sous forme standard..... chiffre
puis transpose en date

le mieux eviter d' utiliser transpose surtout depuis 2007 limitation ect..

voila🙂 voilou🙂

d(C.Value2) = d(C.Value2) + 1 idem d(C.Value2)=""
 
Dernière édition:
Réactions: cp4
Bonjour,😀😀😀

Je constate suite à cette discussion très instructive que encore beaucoup de choses à apprendre en VBA et même Excel. Je ne me suis pas encore habitué à utiliser les tableaux vba et les dictionnaires, que je me trouve confronter à cette histoire de dates. Quelle chance, ils ont les anglophones, un souci en moins.

Merci à vous pour toutes vos explications et votre patience.

Bonne journée😎
 
- 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

F
  • Question Question
Réponses
5
Affichages
1 K
T
Réponses
2
Affichages
1 K
Tava94
T
V
Réponses
2
Affichages
918
valerievdg
V
Réponses
10
Affichages
5 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…