Menu

Changer le format date [Résolu]

nonossov 460 Messages postés lundi 29 décembre 2014Date d'inscription 8 janvier 2018 Dernière intervention - 16 nov. 2017 à 13:32 - Dernière réponse : nonossov 460 Messages postés lundi 29 décembre 2014Date d'inscription 8 janvier 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 

9 réponses

Répondre au sujet
jordane45 20001 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 février 2018 Dernière intervention - 16 nov. 2017 à 13:57
+3
Utile
8
Bonjour,

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

Cette réponse vous a-t-elle aidé ?  
jordane45 20001 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 février 2018 Dernière intervention > nonossov 460 Messages postés lundi 29 décembre 2014Date d'inscription 8 janvier 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 460 Messages postés lundi 29 décembre 2014Date d'inscription 8 janvier 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 20001 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 février 2018 Dernière intervention > nonossov 460 Messages postés lundi 29 décembre 2014Date d'inscription 8 janvier 2018 Dernière intervention - 16 nov. 2017 à 18:33
Sans voir ce que tu as codé... Impossible de te répondre
nonossov 460 Messages postés lundi 29 décembre 2014Date d'inscription 8 janvier 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 460 Messages postés lundi 29 décembre 2014Date d'inscription 8 janvier 2018 Dernière intervention - 17 nov. 2017 à 10:26
Merci d'avance Mr,
Commenter la réponse de jordane45