Format de Date par VBA

  • Initiateur de la discussion Initiateur de la discussion aba2s
  • 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 !

aba2s

XLDnaute Junior
Bonjour Chers membres,
Je viens vers vous demander votre aide. J'ai me macro qui me recopie les dates de la feuille Info(sDay & eDay) vers la feuille Source.
Sur la feuille Info j'ai le bon format par contre sur feuille source en sDay aulieu d'avoir mars comme moi j'ai avril. Pourriez-vous svp m'aider?
VB:
Sub TrendDSP_Bis()



Dim FeInfo As Worksheet
    Set FeInfo = Worksheets("Info")
Dim TabInfo() As Variant
TabInfo = FeInfo.Range(FeInfo.Cells(2, 2), FeInfo.Cells(FeInfo.Cells(65536, 2).End(xlUp).Row, 10))
ReDim Preserve TabInfo(LBound(TabInfo, 1) To UBound(TabInfo, 1), LBound(TabInfo, 2) To (UBound(TabInfo, 2) + 1))

Dim FeSource As Worksheet
    Set FeSource = Worksheets("Source")
Dim TabSource() As Variant
TabSource = FeSource.Range(FeSource.Cells(2, 9), FeSource.Cells(FeSource.Cells(65536, 9).End(xlUp).Row, 12))
ReDim Preserve TabSource(LBound(TabSource, 1) To UBound(TabSource, 1), LBound(TabSource, 2) To (UBound(TabSource, 2) + 5))



For i = LBound(TabInfo, 1) To UBound(TabInfo, 1)
    For j = LBound(TabSource, 1) To UBound(TabSource, 1)
        If TabInfo(i, 7) & TabInfo(i, 9) = TabSource(j, 2) & TabSource(j, 4) Then
            TabInfo(i, 10) = TabInfo(i, 10) + 1
        End If
        Next j
    
Next i

For i = LBound(TabInfo, 1) To UBound(TabInfo, 1)
    For j = LBound(TabSource, 1) To UBound(TabSource, 1)
        If TabInfo(i, 7) & TabInfo(i, 9) = TabSource(j, 2) & TabSource(j, 4) Then
            TabSource(j, 5) = "=" & TabInfo(i, 8) & "/" & TabInfo(i, 10)
            TabSource(j, 6) = TabInfo(i, 1)
            TabSource(j, 7) = TabInfo(i, 2)
        End If
    Next j
Next i

FeSource.Range("D2").Resize(UBound(TabSource, 1), 1).Value = Application.Index(TabSource, , 5)
FeSource.Range("E2").Resize(UBound(TabSource, 1), 1).Value = Application.Index(TabSource, , 6)
FeSource.Range("F2").Resize(UBound(TabSource, 1), 1).Value = Application.Index(TabSource, , 7)
End Sub

Columns("E:G").NumberFormat = "dd/mm/yyyy"
Columns("D:D").NumberFormat = "#,##0.00 $"
 

Pièces jointes

Bonjour,

Riche idée de nommer la feuille destination 'Source'... Bien joué, j'ai tourné en rond 10 min avant de me poser des questions
Ajoute .Value2 :
VB:
TabInfo = FeInfo.Range(FeInfo.Cells(2, 2), FeInfo.Cells(FeInfo.Cells(65536, 2).End(xlUp).Row, 10)).value2
idem sur l'autre
eric
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 îPb code VBA
Réponses
1
Affichages
594
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
503
  • Question Question
Microsoft 365 VBA Transpose
Réponses
11
Affichages
754
Réponses
3
Affichages
464
Réponses
3
Affichages
599
Réponses
3
Affichages
907
Retour