Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Format de Date par VBA

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

  • TestSample.xlsb.xlsm
    31.9 KB · Affichages: 10

eriiic

XLDnaute Barbatruc
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
 

Discussions similaires

Réponses
1
Affichages
368
Réponses
11
Affichages
306
Réponses
12
Affichages
253
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…