Problème de format de date

Fermé
patouu29 - 30 oct. 2009 à 08:15
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 30 oct. 2009 à 14:00
Bonjour,

J'ai créé un programme sous excel qui stock des dates dans une colonne (feuille 1). pour des raisons de lisibilité j'importe ces dates dans une colonne d'une autre feuille (feuille 2). le problème est là, les date qui sont sur la feuille 2 sont écries au format normal (cad des chiffres ex: 43563) . ducoup à chaque fois que je ferme excel puis l'ouvre pour réutiliser mon programme je dois changer le format de ma colone feuille 2. (pour avoir des date au format date ex 30/10/2009)

Pourtant je fais un simple copier coller de ma colone feuille une vers feuille 2 avec un userform.

Que se passe t'il help me please!!!!!!!!!!!

Merci

5 réponses

donjeuw Messages postés 568 Date d'inscription jeudi 8 octobre 2009 Statut Membre Dernière intervention 7 avril 2015 53
30 oct. 2009 à 11:54
Bonjour, as tu essayé de faire un "collage spécial" de ta colonne en acceptant Tout ? cela prendra en compte la le Format de la colonne. (J'ai testé ton problème et pour moi cela marche avec un simple coller...!).

Bien cordialement
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 745
30 oct. 2009 à 12:18
Bonjour,
Le problème est peut être la : Pourtant je fais un simple copier coller de ma colone feuille une vers feuille 2 avec un userform. Quel est ton code? As tu pensé à ajouter à ton copier coller un format Date?
0
oui j'ai prédéfinis un format date sur la colonne que je copie. j'ai même essayé d'initialisé la colonne feuille 2 avant de recevoir les données en faisant un copier coller d'une colone vierge au foramt date.

mon code :

Set l = Sheets(NmProjet).Cells(22, 1)

Sheets("feuil2").Activate

Range("K39 : K1000").Select 'colone vierge
Application.CutCopyMode = False
Selection.Copy

Sheets("feuil2").Select
ActiveSheet.Range("C42").Select
ActiveSheet.Paste


Set w = Sheets("Graphique").Cells(42, 3)
Do While l <> ""
n = 0
Do While n < 8
w.Offset(0, n) = l.Offset(0, n)
n = n + 1
Loop
Set w = w.Offset(1, 0)
Set l = l.Offset(1, 0)
Loop
0
en faite le problème vient ptet du faite que je copie colle plusieur colone a la fois avec une colone au format date et 7 colone au format nombre. d'ou mon : do while n<8

je vais essayé de le faire en deux copier coller
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
30 oct. 2009 à 14:00
Salut,

Si je reprends ton code, toute la partie en gras peut s'écrire plus simplement

[K39 : K1000].Copy [C42]

on peut renforcer le format de la colonne C en complétant la ligne
[K39 : K1000].Copy [C42]: [C:C].NumberFormat = "m/d/yyyy"

Si le format de la plage doit être limité à C42 à C250 par exemple
[K39 : K1000].Copy [C42]: [C42:C250].NumberFormat = "m/d/yyyy"


Sub test()
Set l = Sheets(NmProjet).Cells(22, 1)

Sheets("feuil2").Activate

'Range("K39 : K1000").Select 'colone vierge
'Application.CutCopyMode = False
'Selection.Copy
'Sheets("feuil2").Select
'ActiveSheet.Range("C42").Select
'ActiveSheet.Paste



'Sheets("feuil2").Range("K39 : K1000").Copy Sheets("feuil2").Range("C42")


Set w = Sheets("Graphique").Cells(42, 3)
Do While l <> ""
n = 0
Do While n < 8
w.Offset(0, n) = l.Offset(0, n)
n = n + 1
Loop
Set w = w.Offset(1, 0)
Set l = l.Offset(1, 0)
Loop
End Sub

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0