XL 2019 Inserer caractere replace

Hoareau

XLDnaute Occasionnel
Bonjour

Dans la macro ci-dessous, je remplace un mot par ce même mot accompagné d'un tiret, elle fonctionne

Je veux faire la même chose avec tous les jours de la semaine dans la même procédure

ex : lundi- mardi- etc..

Sub Insere_tiret_droite_date()

Set Plage = Range("B8:B50")

For Each c In Plage


c.Value = Replace(c.Value, "2012", "2012-")


Next c

End Sub

merci
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Hoareau, bonjour le forum,

Peut-être comme ça :

VB:
Sub Insere_tiret_droite_date()
Dim TM(1 To 8) As String
Dim Plage As Range
Dim C As Range

TM(1) = "2012"
TM(2) = "lundi"
TM(3) = "mardi"
TM(4) = "mercredi"
TM(5) = "jeudi"
TM(6) = "vendredi"
TM(7) = "samedi"
TM(8) = "dimanche"

Set Plage = Range("B8:B50")
For Each C In Plage
    For I = 1 To 8
        C.Value = Replace(C.Value, TM(I), TM(I) & "-")
    Next I
Next C
End Sub
 

Staple1600

XLDnaute Barbatruc
Re, Bonjour à toi aussi Robert...:rolleyes:

•>Hoareau
Donc si présence de vrais dates (cf message#2)
(pas besoin de macros, le formatage suffira)
Et si macro, pas besoin de boucle
VB:
Sub Test()
Columns(2).Clear
[B8] = Date: [B8:B50].DataSeries: [B8:B50].NumberFormat = "dddd""-"""
End Sub
NB: La macro ci-dessus est une macro de test
A tester sur une feuille vierge.
Ensuite, allez voir le format des cellules de la colonne B.
(clic-droit Format de cellule)
 

Hoareau

XLDnaute Occasionnel
Bonjour Hoareau, bonjour le forum,

Peut-être comme ça :

VB:
Sub Insere_tiret_droite_date()
Dim TM(1 To 8) As String
Dim Plage As Range
Dim C As Range

TM(1) = "2012"
TM(2) = "lundi"
TM(3) = "mardi"
TM(4) = "mercredi"
TM(5) = "jeudi"
TM(6) = "vendredi"
TM(7) = "samedi"
TM(8) = "dimanche"

Set Plage = Range("B8:B50")
For Each C In Plage
    For I = 1 To 8
        C.Value = Replace(C.Value, TM(I), TM(I) & "-")
    Next I
Next C
End Sub
 

Staple1600

XLDnaute Barbatruc
Re, Bonjour à toi aussi Hoareau...:rolleyes:

•>Hoareau
Ce n'est pas Dataseries qui compte ici...:rolleyes:
(ne sert que pour créer le test)

Il faut d'abord répondre à la question que je posais dans le message#2. ;)
Alors vraies dates ou pas vraies dates ?
 

Staple1600

XLDnaute Barbatruc
Re

Tout dépends du contexte (d'où la question du message#2)
Si tes cellules ne contiennent que des dates et seulement des dates, un simple format suffirait (avec ou sans macro)
Ma macro exemple ne servait qu'à illustrer la chose.

Maintenant si tes cellules contiennent autre chose qu'une date, alors le code de Robert fait le job.

Mais si tu avais joins un fichier exemple (pour qu'on puisse voir le contenu des cellules), j'aurai pu te dire si ma proposition est utilisable ou pas sur ton fichier.
 

Staple1600

XLDnaute Barbatruc
Re

J'ai ouvert ton fichier.
Et c'est ce que je soupconnais ;)
Ce ne sont pas des vraies dates, mais des dates dans des cellules formatées en Texte.

Quand tu as fait mon test, tu l'as fait jusqu'au bout?
Tu as fait un clic-droit pour voir le format des cellules?
 

Discussions similaires

Réponses
3
Affichages
209
Réponses
12
Affichages
572
Réponses
7
Affichages
434

Membres actuellement en ligne

Statistiques des forums

Discussions
312 248
Messages
2 086 595
Membres
103 250
dernier inscrit
keks974