Modification du format date de mes cellules excel
Bonjour,
Totalement novice en VBA (j'ai démarrer il y a deux jours). Je dois réaliser un programme me permettant de selectionner toutes les cellules excel avec le format ("dd/mm/yyyy) et de les modifier en format ("dd/mmm/yyyy). J'aimerais répéter cette opération pour toutes les feuilles excel de mon document.
J'ai réussi à écrire une petite macro mais seulement elle ne marche que pour la cellule active. J'ai besoin de votre aide afin de pouvoir modifier cette macro pour l'étendre à toute la feuille excel.
Code:
1 2 3 4 5 6 7 8 9 10
| Sub Date_Format()
Dim Sh As Variant
For Each Sh In ActiveWorkbook.Worksheets
ActiveCell.Select
If IsDate(ActiveCell.Value) Then
ActiveCell.Value = Format(ActiveCell.Value, "dd/mmm/yyyy" )
End If
Next
End Sub |
De plus en cherchant sur le net, j'ai trouvé une macro permettant de modifier toutes les formules en format couleur 36.
Pensez-vous que je peux adapter cette macro à mon cas. Si oui, je suis un peu perdu pour les modifs à executer.
Merci beaucoup pour votre aide
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| Sub monplanWB()
'***** SELECTION DES CELLULES DONT LE FORMAT EST 36 (jaune pale)******
Dim objRange As Range, PlageYellow As Range, objCell As Range, PlageResult As Range
'réduction de la plage
For Each objRange In ThisWorkbook.Worksheets(1).Columns
If IsNull(objRange.Interior.ColorIndex) Then
If PlageYellow Is Nothing Then
Set PlageYellow = objRange
Else
Set PlageYellow = Application.Union(objRange, PlageYellow)
End If
End If
Next
'travail en ligne
For Each objRange In ThisWorkbook.Worksheets(1).Rows
If IsNull(objRange.Interior.ColorIndex) Then
For Each objCell In Application.Intersect(objRange, PlageYellow).Cells
If objCell.Interior.ColorIndex = 36 Then
If PlageResult Is Nothing Then
Set PlageResult = objCell
Else
Set PlageResult = Application.Union(objCell, PlageResult)
End If
End If
Next
End If
Next
PlageResult = PlageResult.Value
End Sub |