conversion format date en texte en conservant un format de date

jujudeo

XLDnaute Nouveau
Bonjour,

J'ai un petit soucis au niveau de mon format de date, j'aimerais transformer mon format de date en texte/standard tout en gardant une écriture sous la forme : "yyyy-mm-dd"

Code:
Sub Traitement()

 Dim derligne As Long
 Dim x As Range 'cellule affichant le coefficient multiplicateur 100
 Dim taille As Range '1ère ligne contenant le symbole % dans les en-tête
 Dim colonne As Integer 'n° de la colonne à modifier
 Dim lignefin As Integer 'n° de la dernière ligne
 Dim ws As Worksheet
 
 On Error Resume Next 'si la feuille n'existe pas !
 Application.DisplayAlerts = False: Sheets("traitement").Delete: Application.DisplayAlerts = True
 On Error GoTo 0 'plus de gestionnaire d'erreurs
 Worksheets("PO - PB").Copy After:=Worksheets("base donnee") 'création de la feuille
 ActiveSheet.Name = "traitement" 'nom de la feuille'
 Sheets("base donnee").Range("A1:DX1").Copy Sheets("traitement").Range("A1:DX1")
 ActiveSheet.AutoFilterMode = False 'desactiver les filtres'
 ActiveWindow.FreezePanes = False 'désactiver les volets'
 ligne = Range("A" & Rows.Count).End(xlUp).Row
 colomne = Cells(1, Cells.Columns.Count).End(xlToLeft).Column
 With Sheets("traitement")
      Set x = Range("A" & ligne + 10)
           x.Value = 100
           
          Set taille = .Range("A2:DX100")
          For Each cell In taille
          
              If cell.HasFormula = True Then
              cell.EntireColumn.Rows("2:775").Select
              selection.Copy
              selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
          
          
              [b]'detecter date et la mettre en texte + bon format
              ElseIf IsDate(cell) Then
              cell.EntireColumn.Rows("2:761").Select
              selection.NumberFormat = "@"
              selection.NumberFormat = "yyyy-mm-dd"[/b]
                            
             ElseIf InStr(1, cell.Text, "€") > 0 Then
              cell.EntireColumn.Rows("2:761").Select
              selection.NumberFormat = "0.00"  'pour 2 décimales
              selection.Copy
              selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone

             ElseIf InStr(1, cell.Text, "%") > 0 Then
               colonne = cell.Column
               lignefin = cell.End(xlDown).Row
               x.Copy
               Range(Cells(1, colonne), Cells(lignefin, colonne)).PasteSpecial _
               Paste:=xlPasteValues, Operation:=xlMultiply, SkipBlanks:=True
                   For i = 2 To lignefin
                     If CStr(Cells(i, colonne)) = "Erreur 2015" Then Cells(i, colonne) = ""
                   Next i
               selection.NumberFormat = "0.00"
               selection.Copy
              selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
            
             End If
            Next
     End With
     
  ActiveSheet.UsedRange.Replace What:="/", Replacement:="", LookAt:=xlWhole
  ActiveSheet.UsedRange.Replace What:="#REF!", Replacement:="", LookAt:=xlWhole
  ActiveSheet.UsedRange.Replace What:="#VALEUR!", Replacement:="", LookAt:=xlWhole
  
         'For Each ws In Worksheets
         'Application.DisplayAlerts = False
         'If ws.Name <> "traitement" Then ws.Delete
         'Next
          'Application.DisplayAlerts = True
     
'ActiveWorkbook.SaveAs Filename:="Traitement", FileFormat:=xlCSV, CreateBackup:=False, local:=True

 End Sub

Voici ma macro, j'arrive à le transformer mais à la fin, le format de ma cellule est personnalisé, et moi je voudrais texte/standard...

Je vous remercie par avance

Julien
 

Pièces jointes

  • suivi.xlsx
    33.1 KB · Affichages: 37
  • suivi.xlsx
    33.1 KB · Affichages: 33

jujudeo

XLDnaute Nouveau
Re : conversion format date en texte en conservant un format de date

arf je vais jamais m'en sortir ! j'ai trouvé des cellules au format date qui ont du texte --' (le proprio pense pas a nous je crois). Donc, serait il possible que si la cellule est au format date mais quelle contient du texte de la transformer en format texte ? (et il faudrait si possible que la date soit yyyy-mm-dd si possible) ?
 
Dernière modification par un modérateur:

jujudeo

XLDnaute Nouveau
Re : conversion format date en texte en conservant un format de date

a oui pardon

c'est par exemple a la fin de ce fichier dans la colonne rouge

Car la le soucis c'est que avec l'étape de supprimer d'avant, il me supprime du coup toute cette colonne ...
 

Pièces jointes

  • suivi.xlsx
    29 KB · Affichages: 41
  • suivi.xlsx
    29 KB · Affichages: 38

jujudeo

XLDnaute Nouveau
Re : conversion format date en texte en conservant un format de date

la c'est juste un fichier test pour te montrer ! mon fichier a beaucoup de données confidentielles... la personne risque de rajouter des colonnes par la suite normalement
 

Discussions similaires

Statistiques des forums

Discussions
314 630
Messages
2 111 384
Membres
111 118
dernier inscrit
gmc