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

  • Initiateur de la discussion Initiateur de la discussion Chaton77
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
Notre forum d’entraide est 100 % gratuit et le restera.
Aucune formation payante, aucun fichier à acheter, rien à vendre. Mais comme tout site, nous devons couvrir nos frais pour continuer à vous accompagner.
Soutenez-nous en souscrivant à un compte membre : c’est rapide, vous choisissez simplement votre niveau de soutien et le tour est joué.

Je soutiens la communauté et j’accède à mon compte membre

Discussions similaires

Réponses
3
Affichages
481
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
357
Réponses
4
Affichages
520
Retour