XL 2019 Inserer caractere replace

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

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
 
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
 
Re, Bonjour à toi aussi Robert...🙄

•>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)
 
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
 
Re, Bonjour à toi aussi Hoareau...🙄

•>Hoareau
Ce n'est pas Dataseries qui compte ici...🙄
(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 ?
 
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.
 
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?
 
- 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

Réponses
3
Affichages
372
Réponses
12
Affichages
994
  • Question Question
Réponses
16
Affichages
1 K
Réponses
5
Affichages
623
Réponses
7
Affichages
975
Retour