XL 2013 Remplacer des . par des / sur une sélection

Momou

XLDnaute Nouveau
Bonjour à tous :)

Je n'ai pas trouvé de solution à ce que je cherche, même si des choses s'en approchait, cela ne marchait pas dans mon cas :X

Dans le classeur joint je cherche avec VBA à :

- modifier les dates pour avoir des "/" à la place des "." sur les colonnes F et I seulement

Pouvez-vous m'aider pour répondre à ma question ?

Merci d'avance !


Momou
 

Pièces jointes

  • Classeur1.xlsx
    9.9 KB · Affichages: 23
  • Classeur1.xlsx
    9.9 KB · Affichages: 19

Iznogood1

XLDnaute Impliqué
Re : Remplacer des . par des / sur une sélection

Bonjour,

Code:
Columns("F:I").Replace What:=".", Replacement:="/", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

Mais le plus simple serait de saisir des dates (et non des caractères) et d'appliquer le format qui te convient.
 

Momou

XLDnaute Nouveau
Re : Remplacer des . par des / sur une sélection

Bonjour,

Code:
Columns("F:I").Replace What:=".", Replacement:="/", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

Mais le plus simple serait de saisir des dates (et non des caractères) et d'appliquer le format qui te convient.


Ca fonctionne super bien un grand MERCI :D

L'inconvénient c'est que je sors ces dates d'un logiciel, sur lequel je ne peux pas modifier les formats de dates ... :/

Est-ce que tu pourrais m'expliquer ce que veulent dire ces caractères dans le code ?

LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
 

Iznogood1

XLDnaute Impliqué
Re : Remplacer des . par des / sur une sélection

Bonjour,

Code:
Columns("F:I").Replace What:=".", Replacement:="/", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

Mais le plus simple serait de saisir des dates (et non des caractères) et d'appliquer le format qui te convient.

Tu peux faire cette conversion par macro du genre
Code:
Sub Demo()
  TextToDate Range("F2:I5")
End Sub


Sub TextToDate(area As Range)
  Dim r As Range
  For Each r In area
    If r.Value <> "" Then
      r.FormulaR1C1 = "=DATE(RIGHT(RC,4),RIGHT(LEFT(RC),2),LEFT(RC,2))"
      r.Value = r.Value
    End If
  Next r
End Sub
 

Iznogood1

XLDnaute Impliqué
Re : Remplacer des . par des / sur une sélection

LookAt:=xlPart Recherche le caractère dans une partie du contenu de la cellule (et non dan sa totalité)
SearchOrder:=xlByRows Recherche par colonne, puis par ligne
MatchCase:=False Ne fait pas de différence entre majuscules et minuscules
...

A noter que ce code est issu de l’enregistreur de macro.
La plupart des paramètres sont optionnels.

La documentation en ligne explique tout ça : clique sur Replace et appuie sur F1
 

Discussions similaires

Statistiques des forums

Discussions
312 609
Messages
2 090 190
Membres
104 447
dernier inscrit
Baldur