j'ai créé une macro de mise en forme pour une extraction SAP.
Tout se passe bien sauf que le champ dates est de format jj.mm.aaaa
je fait un "remplacer . par /" dans ma macro, et j'applique un format date
jj/mm/aaaa.
Le problème, c'est que Excel considère le résultat comme du texte, je ne
peux pas faire de formule sur ce champ.
Si j'édite la cellule et que je valide, il reconnait la date, et tout se
passe bien.
Je peux aussi faire un "collage spécial valeur "0" addition" sur toute la
colonne, et ça fonctionne. Mais si je met cette opération dans la macro, ça
ne fonctionne pas non plus.
Bref, comment modifier ma macro pour que mon champ date soit reconnu comme
tel, et non comme du texte?
c'est déjà ce que je fais quand je dis que j'applique un format date. mais apparement, il ne comprend pas que c'est une date, mais du texte...car si j'édite la cellule et que je valide, ça fonctionne...
cordialement
"FFO" a écrit :
Salut Olivier
Pourquoi ne mettrais tu pas cette ligne de code :
Selection.NumberFormat = "mm/dd/yyyy"
Celà devrait faire
Dis moi !!!!
Salut
c'est déjà ce que je fais quand je dis que j'applique un format date.
mais apparement, il ne comprend pas que c'est une date, mais du texte...car
si j'édite la cellule et que je valide, ça fonctionne...
c'est déjà ce que je fais quand je dis que j'applique un format date. mais apparement, il ne comprend pas que c'est une date, mais du texte...car si j'édite la cellule et que je valide, ça fonctionne...
cordialement
"FFO" a écrit :
Salut Olivier
Pourquoi ne mettrais tu pas cette ligne de code :
Selection.NumberFormat = "mm/dd/yyyy"
Celà devrait faire
Dis moi !!!!
Ellimac
Bonjour,
A priori les dates restent à gauche mais sont tout de même considérées comme dates, les calculs fonctionnent. Tu peux éventuellement pour faire plus propre rajouter ceci après une sélection de ta plage dates :
For Each c In Selection SendKeys "{f2}~", True Next
Camille
"Olivier77" a écrit dans le message de news:
Bonjour à tous,
j'ai créé une macro de mise en forme pour une extraction SAP. Tout se passe bien sauf que le champ dates est de format jj.mm.aaaa je fait un "remplacer . par /" dans ma macro, et j'applique un format date jj/mm/aaaa. Le problème, c'est que Excel considère le résultat comme du texte, je ne peux pas faire de formule sur ce champ. Si j'édite la cellule et que je valide, il reconnait la date, et tout se passe bien. Je peux aussi faire un "collage spécial valeur "0" addition" sur toute la colonne, et ça fonctionne. Mais si je met cette opération dans la macro, ça ne fonctionne pas non plus. Bref, comment modifier ma macro pour que mon champ date soit reconnu comme tel, et non comme du texte?
Merci de votre aide
Cordialement
Bonjour,
A priori les dates restent à gauche mais sont tout de même considérées comme
dates, les calculs fonctionnent.
Tu peux éventuellement pour faire plus propre rajouter ceci après une
sélection de ta plage dates :
For Each c In Selection
SendKeys "{f2}~", True
Next
Camille
"Olivier77" <Olivier77@discussions.microsoft.com> a écrit dans le message de
news: 4C0BD9B2-0F60-4E91-A9DE-1DDC41D432B7@microsoft.com...
Bonjour à tous,
j'ai créé une macro de mise en forme pour une extraction SAP.
Tout se passe bien sauf que le champ dates est de format jj.mm.aaaa
je fait un "remplacer . par /" dans ma macro, et j'applique un format date
jj/mm/aaaa.
Le problème, c'est que Excel considère le résultat comme du texte, je ne
peux pas faire de formule sur ce champ.
Si j'édite la cellule et que je valide, il reconnait la date, et tout se
passe bien.
Je peux aussi faire un "collage spécial valeur "0" addition" sur toute la
colonne, et ça fonctionne. Mais si je met cette opération dans la macro,
ça
ne fonctionne pas non plus.
Bref, comment modifier ma macro pour que mon champ date soit reconnu comme
tel, et non comme du texte?
A priori les dates restent à gauche mais sont tout de même considérées comme dates, les calculs fonctionnent. Tu peux éventuellement pour faire plus propre rajouter ceci après une sélection de ta plage dates :
For Each c In Selection SendKeys "{f2}~", True Next
Camille
"Olivier77" a écrit dans le message de news:
Bonjour à tous,
j'ai créé une macro de mise en forme pour une extraction SAP. Tout se passe bien sauf que le champ dates est de format jj.mm.aaaa je fait un "remplacer . par /" dans ma macro, et j'applique un format date jj/mm/aaaa. Le problème, c'est que Excel considère le résultat comme du texte, je ne peux pas faire de formule sur ce champ. Si j'édite la cellule et que je valide, il reconnait la date, et tout se passe bien. Je peux aussi faire un "collage spécial valeur "0" addition" sur toute la colonne, et ça fonctionne. Mais si je met cette opération dans la macro, ça ne fonctionne pas non plus. Bref, comment modifier ma macro pour que mon champ date soit reconnu comme tel, et non comme du texte?
Merci de votre aide
Cordialement
Olivier77
Bonjour,
les dates restent à gauche, et bien sûr, les formules ne fonctionnent pas, sinon ça ne poserait pas de pb.
Sinon ton astuce fonctionne bien, le seul problème, c'est que j'ai 10 000 lignes à mon fichier, donc ça prend 5min pour que la macro fasse "F2" dans toute les colonnes.
Si tu as une solution plus rapide.
Merci encore de ton aide.
Olivier
"Ellimac" a écrit :
Bonjour,
A priori les dates restent à gauche mais sont tout de même considérées comme dates, les calculs fonctionnent. Tu peux éventuellement pour faire plus propre rajouter ceci après une sélection de ta plage dates :
For Each c In Selection SendKeys "{f2}~", True Next
Camille
Bonjour,
les dates restent à gauche, et bien sûr, les formules ne fonctionnent pas,
sinon ça ne poserait pas de pb.
Sinon ton astuce fonctionne bien, le seul problème, c'est que j'ai 10 000
lignes à mon fichier, donc ça prend 5min pour que la macro fasse "F2" dans
toute les colonnes.
Si tu as une solution plus rapide.
Merci encore de ton aide.
Olivier
"Ellimac" a écrit :
Bonjour,
A priori les dates restent à gauche mais sont tout de même considérées comme
dates, les calculs fonctionnent.
Tu peux éventuellement pour faire plus propre rajouter ceci après une
sélection de ta plage dates :
For Each c In Selection
SendKeys "{f2}~", True
Next
les dates restent à gauche, et bien sûr, les formules ne fonctionnent pas, sinon ça ne poserait pas de pb.
Sinon ton astuce fonctionne bien, le seul problème, c'est que j'ai 10 000 lignes à mon fichier, donc ça prend 5min pour que la macro fasse "F2" dans toute les colonnes.
Si tu as une solution plus rapide.
Merci encore de ton aide.
Olivier
"Ellimac" a écrit :
Bonjour,
A priori les dates restent à gauche mais sont tout de même considérées comme dates, les calculs fonctionnent. Tu peux éventuellement pour faire plus propre rajouter ceci après une sélection de ta plage dates :
For Each c In Selection SendKeys "{f2}~", True Next
Camille
Ellimac
Re,
Par formule, en supposant qu'une nouvelle colonne est insérée à droite de tes dates :
der = Range("a65000").End(xlUp).Row ActiveCell = _ "ÚTE(RIGHT(RC[-1],4),MID(RC[-1],4,2),LEFT(RC[-1],2))" ActiveCell.AutoFill Destination:=Range("B2:B" & der) Prévoir ensuite un Copier Collage spécial valeur de cette nouvelle colonne et suppression de l'ancienne colonne dates.
Camille
"Olivier77" a écrit dans le message de news:
Bonjour,
les dates restent à gauche, et bien sûr, les formules ne fonctionnent pas, sinon ça ne poserait pas de pb.
Sinon ton astuce fonctionne bien, le seul problème, c'est que j'ai 10 000 lignes à mon fichier, donc ça prend 5min pour que la macro fasse "F2" dans toute les colonnes.
Si tu as une solution plus rapide.
Merci encore de ton aide.
Olivier
"Ellimac" a écrit :
Bonjour,
A priori les dates restent à gauche mais sont tout de même considérées comme dates, les calculs fonctionnent. Tu peux éventuellement pour faire plus propre rajouter ceci après une sélection de ta plage dates :
For Each c In Selection SendKeys "{f2}~", True Next
Camille
Re,
Par formule, en supposant qu'une nouvelle colonne est insérée à droite de
tes dates :
der = Range("a65000").End(xlUp).Row
ActiveCell = _
"ÚTE(RIGHT(RC[-1],4),MID(RC[-1],4,2),LEFT(RC[-1],2))"
ActiveCell.AutoFill Destination:=Range("B2:B" & der)
Prévoir ensuite un Copier Collage spécial valeur de cette nouvelle colonne
et suppression de l'ancienne colonne dates.
Camille
"Olivier77" <Olivier77@discussions.microsoft.com> a écrit dans le message de
news: B73B4B20-0249-4F02-A78C-3C3519E1D1FB@microsoft.com...
Bonjour,
les dates restent à gauche, et bien sûr, les formules ne fonctionnent pas,
sinon ça ne poserait pas de pb.
Sinon ton astuce fonctionne bien, le seul problème, c'est que j'ai 10 000
lignes à mon fichier, donc ça prend 5min pour que la macro fasse "F2" dans
toute les colonnes.
Si tu as une solution plus rapide.
Merci encore de ton aide.
Olivier
"Ellimac" a écrit :
Bonjour,
A priori les dates restent à gauche mais sont tout de même considérées
comme
dates, les calculs fonctionnent.
Tu peux éventuellement pour faire plus propre rajouter ceci après une
sélection de ta plage dates :
For Each c In Selection
SendKeys "{f2}~", True
Next
Par formule, en supposant qu'une nouvelle colonne est insérée à droite de tes dates :
der = Range("a65000").End(xlUp).Row ActiveCell = _ "ÚTE(RIGHT(RC[-1],4),MID(RC[-1],4,2),LEFT(RC[-1],2))" ActiveCell.AutoFill Destination:=Range("B2:B" & der) Prévoir ensuite un Copier Collage spécial valeur de cette nouvelle colonne et suppression de l'ancienne colonne dates.
Camille
"Olivier77" a écrit dans le message de news:
Bonjour,
les dates restent à gauche, et bien sûr, les formules ne fonctionnent pas, sinon ça ne poserait pas de pb.
Sinon ton astuce fonctionne bien, le seul problème, c'est que j'ai 10 000 lignes à mon fichier, donc ça prend 5min pour que la macro fasse "F2" dans toute les colonnes.
Si tu as une solution plus rapide.
Merci encore de ton aide.
Olivier
"Ellimac" a écrit :
Bonjour,
A priori les dates restent à gauche mais sont tout de même considérées comme dates, les calculs fonctionnent. Tu peux éventuellement pour faire plus propre rajouter ceci après une sélection de ta plage dates :
For Each c In Selection SendKeys "{f2}~", True Next
Camille
michdenis
As-tu essayé quelque chose comme :
Tu adaptes le nom de la feuille et de la plage de cellules '------------------------------ Sub test() Dim Rg As Range With Feuil1 With .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Replace What:=Chr(160), Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByColumns .Replace What:=".", Replacement:="/", LookAt:=xlPart, _ SearchOrder:=xlByColumns .NumberFormat = "dd/MM/YYYY" 'Ou autre format End With End With End Sub '------------------------------
"Olivier77" a écrit dans le message de groupe de discussion : Bonjour à tous,
j'ai créé une macro de mise en forme pour une extraction SAP. Tout se passe bien sauf que le champ dates est de format jj.mm.aaaa je fait un "remplacer . par /" dans ma macro, et j'applique un format date jj/mm/aaaa. Le problème, c'est que Excel considère le résultat comme du texte, je ne peux pas faire de formule sur ce champ. Si j'édite la cellule et que je valide, il reconnait la date, et tout se passe bien. Je peux aussi faire un "collage spécial valeur "0" addition" sur toute la colonne, et ça fonctionne. Mais si je met cette opération dans la macro, ça ne fonctionne pas non plus. Bref, comment modifier ma macro pour que mon champ date soit reconnu comme tel, et non comme du texte?
Merci de votre aide
Cordialement
As-tu essayé quelque chose comme :
Tu adaptes le nom de la feuille et de la plage de cellules
'------------------------------
Sub test()
Dim Rg As Range
With Feuil1
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
.Replace What:=Chr(160), Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByColumns
.Replace What:=".", Replacement:="/", LookAt:=xlPart, _
SearchOrder:=xlByColumns
.NumberFormat = "dd/MM/YYYY" 'Ou autre format
End With
End With
End Sub
'------------------------------
"Olivier77" <Olivier77@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : 4C0BD9B2-0F60-4E91-A9DE-1DDC41D432B7@microsoft.com...
Bonjour à tous,
j'ai créé une macro de mise en forme pour une extraction SAP.
Tout se passe bien sauf que le champ dates est de format jj.mm.aaaa
je fait un "remplacer . par /" dans ma macro, et j'applique un format date
jj/mm/aaaa.
Le problème, c'est que Excel considère le résultat comme du texte, je ne
peux pas faire de formule sur ce champ.
Si j'édite la cellule et que je valide, il reconnait la date, et tout se
passe bien.
Je peux aussi faire un "collage spécial valeur "0" addition" sur toute la
colonne, et ça fonctionne. Mais si je met cette opération dans la macro, ça
ne fonctionne pas non plus.
Bref, comment modifier ma macro pour que mon champ date soit reconnu comme
tel, et non comme du texte?
Tu adaptes le nom de la feuille et de la plage de cellules '------------------------------ Sub test() Dim Rg As Range With Feuil1 With .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Replace What:=Chr(160), Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByColumns .Replace What:=".", Replacement:="/", LookAt:=xlPart, _ SearchOrder:=xlByColumns .NumberFormat = "dd/MM/YYYY" 'Ou autre format End With End With End Sub '------------------------------
"Olivier77" a écrit dans le message de groupe de discussion : Bonjour à tous,
j'ai créé une macro de mise en forme pour une extraction SAP. Tout se passe bien sauf que le champ dates est de format jj.mm.aaaa je fait un "remplacer . par /" dans ma macro, et j'applique un format date jj/mm/aaaa. Le problème, c'est que Excel considère le résultat comme du texte, je ne peux pas faire de formule sur ce champ. Si j'édite la cellule et que je valide, il reconnait la date, et tout se passe bien. Je peux aussi faire un "collage spécial valeur "0" addition" sur toute la colonne, et ça fonctionne. Mais si je met cette opération dans la macro, ça ne fonctionne pas non plus. Bref, comment modifier ma macro pour que mon champ date soit reconnu comme tel, et non comme du texte?
Merci de votre aide
Cordialement
Olivier77
Bonjour,
j'ai essayé, et ça me pose exactement le même problème de date centré à gauche, et non reconnue comme date par les formules...
merci quand même...
Olivier
"michdenis" a écrit :
As-tu essayé quelque chose comme :
Tu adaptes le nom de la feuille et de la plage de cellules '------------------------------ Sub test() Dim Rg As Range With Feuil1 With .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Replace What:=Chr(160), Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByColumns .Replace What:=".", Replacement:="/", LookAt:=xlPart, _ SearchOrder:=xlByColumns .NumberFormat = "dd/MM/YYYY" 'Ou autre format End With End With End Sub '------------------------------
Bonjour,
j'ai essayé, et ça me pose exactement le même problème de date centré à
gauche, et non reconnue comme date par les formules...
merci quand même...
Olivier
"michdenis" a écrit :
As-tu essayé quelque chose comme :
Tu adaptes le nom de la feuille et de la plage de cellules
'------------------------------
Sub test()
Dim Rg As Range
With Feuil1
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
.Replace What:=Chr(160), Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByColumns
.Replace What:=".", Replacement:="/", LookAt:=xlPart, _
SearchOrder:=xlByColumns
.NumberFormat = "dd/MM/YYYY" 'Ou autre format
End With
End With
End Sub
'------------------------------
j'ai essayé, et ça me pose exactement le même problème de date centré à gauche, et non reconnue comme date par les formules...
merci quand même...
Olivier
"michdenis" a écrit :
As-tu essayé quelque chose comme :
Tu adaptes le nom de la feuille et de la plage de cellules '------------------------------ Sub test() Dim Rg As Range With Feuil1 With .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Replace What:=Chr(160), Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByColumns .Replace What:=".", Replacement:="/", LookAt:=xlPart, _ SearchOrder:=xlByColumns .NumberFormat = "dd/MM/YYYY" 'Ou autre format End With End With End Sub '------------------------------
Olivier77
Merci, j'avais essayé comme ça, et ça fonctionne bien. il faut juste passer par la création et la suppression d'une colonne supp. Juste, je ne comprend pas pourquoi je n'arrive pas à mettre directement au bon format ma colonne...
Merci.
"Ellimac" a écrit :
Re,
Par formule, en supposant qu'une nouvelle colonne est insérée à droite de tes dates :
der = Range("a65000").End(xlUp).Row ActiveCell = _ "ÚTE(RIGHT(RC[-1],4),MID(RC[-1],4,2),LEFT(RC[-1],2))" ActiveCell.AutoFill Destination:=Range("B2:B" & der) Prévoir ensuite un Copier Collage spécial valeur de cette nouvelle colonne et suppression de l'ancienne colonne dates.
Camille
Merci, j'avais essayé comme ça, et ça fonctionne bien.
il faut juste passer par la création et la suppression d'une colonne supp.
Juste, je ne comprend pas pourquoi je n'arrive pas à mettre directement au
bon format ma colonne...
Merci.
"Ellimac" a écrit :
Re,
Par formule, en supposant qu'une nouvelle colonne est insérée à droite de
tes dates :
der = Range("a65000").End(xlUp).Row
ActiveCell = _
"ÚTE(RIGHT(RC[-1],4),MID(RC[-1],4,2),LEFT(RC[-1],2))"
ActiveCell.AutoFill Destination:=Range("B2:B" & der)
Prévoir ensuite un Copier Collage spécial valeur de cette nouvelle colonne
et suppression de l'ancienne colonne dates.
Merci, j'avais essayé comme ça, et ça fonctionne bien. il faut juste passer par la création et la suppression d'une colonne supp. Juste, je ne comprend pas pourquoi je n'arrive pas à mettre directement au bon format ma colonne...
Merci.
"Ellimac" a écrit :
Re,
Par formule, en supposant qu'une nouvelle colonne est insérée à droite de tes dates :
der = Range("a65000").End(xlUp).Row ActiveCell = _ "ÚTE(RIGHT(RC[-1],4),MID(RC[-1],4,2),LEFT(RC[-1],2))" ActiveCell.AutoFill Destination:=Range("B2:B" & der) Prévoir ensuite un Copier Collage spécial valeur de cette nouvelle colonne et suppression de l'ancienne colonne dates.
Camille
michdenis
Si c'est possible, publie juste une petite quantité de data de tes dates sur cjoint.com et donne-nous ici l'adresse où se trouve ton fichier.
Si c'est possible, publie juste une petite quantité de data
de tes dates sur cjoint.com et donne-nous ici l'adresse
où se trouve ton fichier.