Microsoft 365 En VBA : Extraire le mois d'une date d'un tableau

Chaton77

XLDnaute Nouveau
Bonsoir,

dans mon projet, j'ai un tableau à remplir (à chaque fois qu'un contrôle est fait)

Dans le tableau j'ai ajouté une colonne qui doit afficher le mois selon les dates de contrôles qui ont été faits.
J'ai essayé mais le mois affiché est = à Janv.-1900
1723240017818.png


Ci-après le code (j'ai enlevé la partie qui ne fonctionne pas.
Si quelqu'un pourrait me donner une solution, svp

Code :
VB:
Sub RemplirTableau()
    
    'remplir le tableau pour lister les résultats de contrôles faits
    'mettre en rouge le texte quand le statut est "NC"
    '-----------------------------------------------------------------
    
    Dim wsResult As Worksheet
    Dim wsControl As Worksheet
    Dim lastRow As Long
    Dim controlDate As Variant
    Dim controlMonth As String
    
    'pour éviter le flash d'écran
    Application.ScreenUpdating = False
    
    ' Définir les feuilles
    Set wsResult = ThisWorkbook.Sheets("Zone0Résultats")
    Set wsControl = ThisWorkbook.Sheets("Zone0")

    ' Trouver la dernière ligne non vide dans la feuille "Zone0Résultats"
    lastRow = wsResult.Cells(wsResult.Rows.Count, "A").End(xlUp).Row
    If lastRow < 2 Then
        lastRow = 2
    Else
        lastRow = lastRow + 1
    End If
  
    ' Copier les données de la feuille "Zone0" vers la feuille "Zone0Résultats"
    '-----------------------------------------------------------------------
    
    controlDate = wsControl.Range("B4").Value ' Date_Evaluation
    
     ' Utiliser la formule Excel pour extraire le mois en texte
    
    
    
    
    wsResult.Cells(lastRow, 1).Value = wsControl.Range("B4").Value ' Date_Evaluation
    wsResult.Cells(lastRow, 2).Value = wsControl.Range("B3").Value ' Secteur
    wsResult.Cells(lastRow, 3).Value = wsControl.Range("B5").Value ' Local
    wsResult.Cells(lastRow, 4).Value = wsControl.Range("K2").Value ' Zone
    wsResult.Cells(lastRow, 5).Value = wsControl.Range("J4").Value ' Résultat
    wsResult.Cells(lastRow, 6).Value = wsControl.Range("J5").Value ' Statut
    wsResult.Cells(lastRow, 7).Value = controlMonth ' Mois extrait de la date
    
     ' Appliquer la couleur du texte en fonction de la valeur de "Statut"
    If wsResult.Cells(lastRow, 6).Value = "NC" Then
        wsResult.Cells(lastRow, 6).Font.Color = RGB(255, 0, 0)          'Rouge
    Else
        wsResult.Cells(lastRow, 6).Font.Color = RGB(0, 0, 0)            'Noir (ou toute autre couleur par défaut)
    End If
      
    Application.ScreenUpdating = True
  
End Sub
 

Discussions similaires

Réponses
2
Affichages
214

Statistiques des forums

Discussions
313 866
Messages
2 103 082
Membres
108 521
dernier inscrit
manouba