Menu

Changer le format date [Résolu]

nonossov 461 Messages postés lundi 29 décembre 2014Date d'inscription 20 février 2018 Dernière intervention - 16 nov. 2017 à 13:32 - Dernière réponse : nonossov 461 Messages postés lundi 29 décembre 2014Date d'inscription 20 février 2018 Dernière intervention
- 17 nov. 2017 à 10:26
Bonjour mes amis,

Voici une macro qui fait le deplacement des colonnes.

je vouderai changer le format de la colonne A en format Date de la feuil Output.

et s'il est possible de mettre une condition pour remplir la colonne F: Si la colonne G possitive mettez la lettre "C" sinon "D".

Sub converter()
Dim sh As Worksheet
Dim ws As Worksheet
Dim a As Long
Dim b As Long

Set ws = Sheets("Input")
Set sh = Sheets("Output")

b = ws.Range("A1").End(xlDown).Row
c = sh.Range("A1").End(xlDown).Row
sh.Activate
sh.Range("A2", Cells(c, "I")).Clear
'sh.Range("A2", Cells(c, "I")).Interior.Color = RGB(255, 255, 255)
For a = 2 To b
sh.Cells(a, "C") = ws.Cells(a, "C")
sh.Cells(a, "A") = ws.Cells(a, "G")
sh.Cells(a, "E") = ws.Cells(a, "I")
sh.Cells(a, "B") = ws.Cells(a, "L")
sh.Cells(a, "G") = ws.Cells(a, "M")
sh.Cells(a, "D") = ws.Cells(a, "X")


Next
sh.Range("A2", Cells(b, "A")).NumberFormat = "DD/MM/YYYY"
End Sub


Merci infiniment



Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
jordane45 21212 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 27 mai 2018 Dernière intervention - 16 nov. 2017 à 13:57
3
Merci
Bonjour,

As tu essayé :
sh.Range("A2", Cells(b, "A")).NumberFormat = "dd/mm/yy;@"

Merci jordane45 3

a aidé 24672 internautes ce mois-ci

jordane45 21212 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 27 mai 2018 Dernière intervention > nonossov 461 Messages postés lundi 29 décembre 2014Date d'inscription 20 février 2018 Dernière intervention - 16 nov. 2017 à 17:48
Un truc du genre :
dim maplageC as Range

set maplageC = sh.Range("G2", Cells(b, "G"))

for each cellule IN maplageC
  If cellule.value > 0 Then 
     sh.cells(cellule.row,7).value = "C" 
  else
    sh.cells(cellule.row,7).value = "D" 
  End If

Next
nonossov 461 Messages postés lundi 29 décembre 2014Date d'inscription 20 février 2018 Dernière intervention - 16 nov. 2017 à 18:23
Merci infiniment Mr Jordane, j'ai essayé de faire le meme striture pour appliquer cette codition:

Si le chiffre dans la colonne G est positif je met le chiffre dans la colonne H. si le chiffre dans la colonne G est négatif il reste dans la meme cellule?? mais je n'ai pas pu réussir

Merci infiniment pour tous.
jordane45 21212 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 27 mai 2018 Dernière intervention > nonossov 461 Messages postés lundi 29 décembre 2014Date d'inscription 20 février 2018 Dernière intervention - 16 nov. 2017 à 18:33
Sans voir ce que tu as codé... Impossible de te répondre
nonossov 461 Messages postés lundi 29 décembre 2014Date d'inscription 20 février 2018 Dernière intervention - 16 nov. 2017 à 18:34
Voila le code complet; Merci infiniment:

Sub converter()
Dim sh As Worksheet
Dim ws As Worksheet
Dim a As Long
Dim b As Long

Set ws = Sheets("Input")
Set sh = Sheets("Output")

b = ws.Range("A1").End(xlDown).Row
c = sh.Range("A1").End(xlDown).Row
sh.Activate
sh.Range("A2", Cells(c, "I")).Clear
'sh.Range("A2", Cells(c, "I")).Interior.Color = RGB(255, 255, 255)
For a = 2 To b
sh.Cells(a, "C") = ws.Cells(a, "C")
sh.Cells(a, "A") = ws.Cells(a, "G")
sh.Cells(a, "E") = ws.Cells(a, "I")
sh.Cells(a, "B") = ws.Cells(a, "L")
sh.Cells(a, "G") = ws.Cells(a, "M")
sh.Cells(a, "D") = ws.Cells(a, "X")


Next
sh.Range("A2", Cells(b, "A")).NumberFormat = "dd/mm/yyyy;@"

Dim maplageC As Range

Set maplageC = sh.Range("G2", Cells(b, "G"))

For Each cellule In maplageC
If cellule.Value > 0 Then
sh.Cells(cellule.Row, 6).Value = "C"
Else
sh.Cells(cellule.Row, 6).Value = "D"

End If


Next
End Sub
nonossov 461 Messages postés lundi 29 décembre 2014Date d'inscription 20 février 2018 Dernière intervention - 17 nov. 2017 à 10:26
Merci d'avance Mr,
Commenter la réponse de jordane45