Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
X
Bonsoir,
Pas tout comprendre, je présume que tu as posé ta question en sens inverse
Tu veux mettre une variable date dans 3 cellules integer (2 byte + 1 integer iraient)...
Je ne sais pas en VBa si c'est différent, mais le principe, il doit y avoir plusieurs possibilités: dim ladate as string dim jj as byte dim mm as byte dim aaaa as integer ladate = ma_variable_date jj = val(mid(ma_variable_date,1,2)) ' jour : JJ/mm/aaaa mm = val(mid(ma_variable_date,4,2)) ' jour : jj/MM/aaaa aaaa = val(mid(ma_variable_date,7,4)) ' jour : jj/mm/AAAA
------ Site logiciels http://irolog.free.fr Mail http://irolog.free.fr/ecrire/index.htm Site perso http://irolog.free.fr/joe/index.htm Principe d'utilisation des news Groups http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm ------------------------------------------------------------------------------------ "Nicolas" a écrit dans le message de news:
Bonjour, je travaille sur une feuille excel avec du code VBA
J'aimerais convertir 3 cellules integer (Jour, mois, année) sur une première feuille en 1 cellules date sur une deuxième feuille.
Merci
Bonsoir,
Pas tout comprendre, je présume que tu as posé ta question en sens
inverse
Tu veux mettre une variable date dans 3 cellules integer (2 byte + 1
integer iraient)...
Je ne sais pas en VBa si c'est différent, mais le principe, il doit y
avoir plusieurs possibilités:
dim ladate as string
dim jj as byte
dim mm as byte
dim aaaa as integer
ladate = ma_variable_date
jj = val(mid(ma_variable_date,1,2)) ' jour : JJ/mm/aaaa
mm = val(mid(ma_variable_date,4,2)) ' jour : jj/MM/aaaa
aaaa = val(mid(ma_variable_date,7,4)) ' jour : jj/mm/AAAA
------
Site logiciels
http://irolog.free.fr
Mail
http://irolog.free.fr/ecrire/index.htm
Site perso
http://irolog.free.fr/joe/index.htm
Principe d'utilisation des news Groups
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
------------------------------------------------------------------------------------
"Nicolas" <Nicolas@discussions.microsoft.com> a écrit dans le message de
news: 23F42A4A-9016-4429-B9CC-01411A71392A@microsoft.com...
Bonjour, je travaille sur une feuille excel avec du code VBA
J'aimerais convertir 3 cellules integer (Jour, mois, année) sur une
première
feuille en 1 cellules date sur une deuxième feuille.
Pas tout comprendre, je présume que tu as posé ta question en sens inverse
Tu veux mettre une variable date dans 3 cellules integer (2 byte + 1 integer iraient)...
Je ne sais pas en VBa si c'est différent, mais le principe, il doit y avoir plusieurs possibilités: dim ladate as string dim jj as byte dim mm as byte dim aaaa as integer ladate = ma_variable_date jj = val(mid(ma_variable_date,1,2)) ' jour : JJ/mm/aaaa mm = val(mid(ma_variable_date,4,2)) ' jour : jj/MM/aaaa aaaa = val(mid(ma_variable_date,7,4)) ' jour : jj/mm/AAAA
------ Site logiciels http://irolog.free.fr Mail http://irolog.free.fr/ecrire/index.htm Site perso http://irolog.free.fr/joe/index.htm Principe d'utilisation des news Groups http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm ------------------------------------------------------------------------------------ "Nicolas" a écrit dans le message de news:
Bonjour, je travaille sur une feuille excel avec du code VBA
J'aimerais convertir 3 cellules integer (Jour, mois, année) sur une première feuille en 1 cellules date sur une deuxième feuille.
Merci
Fred
dans : news: Nicolas disait :
Bonjour, je travaille sur une feuille excel avec du code VBA
J'aimerais convertir 3 cellules integer (Jour, mois, année) sur une première feuille en 1 cellules date sur une deuxième feuille.
Bonjour,
Sans chercher la petite bête, ceci fonctionne (sur un système français) :
Sub test() Dim f1 As Worksheet Dim f2 As Worksheet Set f1 = ActiveWorkbook.Worksheets("Feuil1") Set f2 = ActiveWorkbook.Worksheets("Feuil2") f2.Cells(1, 1) = CDate(f1.Cells(1, 1) & "/" & f1.Cells(1, 2) & "/" & f1.Cells(1, 3)) End Sub
La cellule cible prend automatiquement le format date.
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
dans : news:23F42A4A-9016-4429-B9CC-01411A71392A@microsoft.com
Nicolas disait :
Bonjour, je travaille sur une feuille excel avec du code VBA
J'aimerais convertir 3 cellules integer (Jour, mois, année) sur une
première feuille en 1 cellules date sur une deuxième feuille.
Bonjour,
Sans chercher la petite bête, ceci fonctionne (sur un système français)
:
Sub test()
Dim f1 As Worksheet
Dim f2 As Worksheet
Set f1 = ActiveWorkbook.Worksheets("Feuil1")
Set f2 = ActiveWorkbook.Worksheets("Feuil2")
f2.Cells(1, 1) = CDate(f1.Cells(1, 1) & "/" & f1.Cells(1, 2) & "/" &
f1.Cells(1, 3))
End Sub
La cellule cible prend automatiquement le format date.
Bonjour, je travaille sur une feuille excel avec du code VBA
J'aimerais convertir 3 cellules integer (Jour, mois, année) sur une première feuille en 1 cellules date sur une deuxième feuille.
Bonjour,
Sans chercher la petite bête, ceci fonctionne (sur un système français) :
Sub test() Dim f1 As Worksheet Dim f2 As Worksheet Set f1 = ActiveWorkbook.Worksheets("Feuil1") Set f2 = ActiveWorkbook.Worksheets("Feuil2") f2.Cells(1, 1) = CDate(f1.Cells(1, 1) & "/" & f1.Cells(1, 2) & "/" & f1.Cells(1, 3)) End Sub
La cellule cible prend automatiquement le format date.
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
FL
Bonjour,
Petite précision, il faut faire attention avec la fonction CDate car, en fonction des formats de date définis dans l'OS, elle ne renvoie pas toujours le bon résultat. Pour ma part, je préfère utiliser la fonction DateSerial. Elle ne laisse pas d'ambiguité possible entre les jours et les mois.
"Fred" a écrit dans le message de news:
dans : news: Nicolas disait : > Bonjour, je travaille sur une feuille excel avec du code VBA > > J'aimerais convertir 3 cellules integer (Jour, mois, année) sur une > première feuille en 1 cellules date sur une deuxième feuille.
Bonjour,
Sans chercher la petite bête, ceci fonctionne (sur un système français) :
Sub test() Dim f1 As Worksheet Dim f2 As Worksheet Set f1 = ActiveWorkbook.Worksheets("Feuil1") Set f2 = ActiveWorkbook.Worksheets("Feuil2") f2.Cells(1, 1) = CDate(f1.Cells(1, 1) & "/" & f1.Cells(1, 2) & "/" & f1.Cells(1, 3)) End Sub
La cellule cible prend automatiquement le format date.
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Bonjour,
Petite précision, il faut faire attention avec la fonction CDate car, en
fonction des formats de date définis dans l'OS, elle ne renvoie pas toujours
le bon résultat.
Pour ma part, je préfère utiliser la fonction DateSerial. Elle ne laisse pas
d'ambiguité possible entre les jours et les mois.
"Fred" <foleide@libre.france> a écrit dans le message de news:
OzpvYBEOGHA.3984@TK2MSFTNGP14.phx.gbl...
dans : news:23F42A4A-9016-4429-B9CC-01411A71392A@microsoft.com
Nicolas disait :
> Bonjour, je travaille sur une feuille excel avec du code VBA
>
> J'aimerais convertir 3 cellules integer (Jour, mois, année) sur une
> première feuille en 1 cellules date sur une deuxième feuille.
Bonjour,
Sans chercher la petite bête, ceci fonctionne (sur un système français)
:
Sub test()
Dim f1 As Worksheet
Dim f2 As Worksheet
Set f1 = ActiveWorkbook.Worksheets("Feuil1")
Set f2 = ActiveWorkbook.Worksheets("Feuil2")
f2.Cells(1, 1) = CDate(f1.Cells(1, 1) & "/" & f1.Cells(1, 2) & "/" &
f1.Cells(1, 3))
End Sub
La cellule cible prend automatiquement le format date.
Petite précision, il faut faire attention avec la fonction CDate car, en fonction des formats de date définis dans l'OS, elle ne renvoie pas toujours le bon résultat. Pour ma part, je préfère utiliser la fonction DateSerial. Elle ne laisse pas d'ambiguité possible entre les jours et les mois.
"Fred" a écrit dans le message de news:
dans : news: Nicolas disait : > Bonjour, je travaille sur une feuille excel avec du code VBA > > J'aimerais convertir 3 cellules integer (Jour, mois, année) sur une > première feuille en 1 cellules date sur une deuxième feuille.
Bonjour,
Sans chercher la petite bête, ceci fonctionne (sur un système français) :
Sub test() Dim f1 As Worksheet Dim f2 As Worksheet Set f1 = ActiveWorkbook.Worksheets("Feuil1") Set f2 = ActiveWorkbook.Worksheets("Feuil2") f2.Cells(1, 1) = CDate(f1.Cells(1, 1) & "/" & f1.Cells(1, 2) & "/" & f1.Cells(1, 3)) End Sub
La cellule cible prend automatiquement le format date.
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Fred
Dans : news: FL écrit :
Bonjour,
Bonjour,
Petite précision, il faut faire attention avec la fonction CDate car, en fonction des formats de date définis dans l'OS, elle ne renvoie pas toujours le bon résultat. Pour ma part, je préfère utiliser la fonction DateSerial. Elle ne laisse pas d'ambiguité possible entre les jours et les mois.
Oui, d'où ma précision concernant le système français. J'avais oublié le DateSerial. Je corrige ci-dessous la procédure.
Sub test() Dim f1 As Worksheet Dim f2 As Worksheet Set f1 = ActiveWorkbook.Worksheets("Feuil1") Set f2 = ActiveWorkbook.Worksheets("Feuil2")
La cellule cible prend automatiquement le format date.
Ça, c'est toujours vrai avec DateSerial
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Dans : news:upyjE4GOGHA.984@tk2msftngp13.phx.gbl
FL écrit :
Bonjour,
Bonjour,
Petite précision, il faut faire attention avec la fonction CDate car,
en fonction des formats de date définis dans l'OS, elle ne renvoie
pas toujours le bon résultat.
Pour ma part, je préfère utiliser la fonction DateSerial. Elle ne
laisse pas d'ambiguité possible entre les jours et les mois.
Oui, d'où ma précision concernant le système français.
J'avais oublié le DateSerial.
Je corrige ci-dessous la procédure.
Sub test()
Dim f1 As Worksheet
Dim f2 As Worksheet
Set f1 = ActiveWorkbook.Worksheets("Feuil1")
Set f2 = ActiveWorkbook.Worksheets("Feuil2")
Petite précision, il faut faire attention avec la fonction CDate car, en fonction des formats de date définis dans l'OS, elle ne renvoie pas toujours le bon résultat. Pour ma part, je préfère utiliser la fonction DateSerial. Elle ne laisse pas d'ambiguité possible entre les jours et les mois.
Oui, d'où ma précision concernant le système français. J'avais oublié le DateSerial. Je corrige ci-dessous la procédure.
Sub test() Dim f1 As Worksheet Dim f2 As Worksheet Set f1 = ActiveWorkbook.Worksheets("Feuil1") Set f2 = ActiveWorkbook.Worksheets("Feuil2")