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

Rechercher et Remplacer en VBA

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 !

Sirberthoult

XLDnaute Occasionnel
Bonjour le forum

je souhaite utiliser Rechercher chaque contenue de cellule commençant par "08h00 - ... " et le Remlacer par "08h00" en VBA

il peut y avoir des "08h00 - 11h45" ou des "08h00 - 12h00" ou d'autre ... mais je souhaiterai que ce soit toujours strictement remplacer par "08h00"


de même quand il y a des cellules qui finissent toujours par " ... - 16h00" que ce soit Remplacer par "16h00"

il peut y avoir des "14h00 - 16h00" ou des " 13h30 - 16h00" ou d'autre encore ... mais je souhaiterai que ce soit toujours strictement remplacer par "16h00"

merci d'avance
 
Salut,
En imaginant que tes données soient en colonne C, la formule suivante extraira si début = 08h00 et si fin = 16h00
Une fois la formule tirée sur toutes tes colonnes, un simple copier-coller les valeurs pourrait faire l'affaire
Formule : =SI(GAUCHE(C8;5)="08h00";"08h00";SI(DROITE(C8;5)="16h00";"16h00";"autre"))
En espérant avoir bien ciblé ta demande
Le seul HIC serait si tu as par exemple 08h00 - 16h00 et encore cela donnerait 08h00
@+ Lolote83
 
bonjour

en supposant que les données sont en colonne C à partir de la ligne 1, à tester,

Code:
Sub Macro()
With WorkSheets("Feuil1")
For i= 1 to .Range("C" & Rows.Count).End(xlUp).Row
       if .cells(i,3) like "08h00*" then .cells(i,3)="08h00"
       if .cells(i,3) like "*16h00" then .cells(i,3)="16h00"
next
End Sub

Avec le même inconvénient que celui signalé par Lolote83

A+
 
Bonsoir

merci pour vos réponse.

lolote83 : je souhaiterais une solution VBA

Paf : mon but et de transformer ce code en macro complémentaire pour différent fichier et les données ce trouvent dans différentes cellules dans toutes la feuille et pas seulement que dans une colonne isolé...

j'ai utilisé l'enregistreur de macro pour obtenir un bout de code mais c'est très sélectif... et doit en créer un pour chaque cas de figure ... j espéré une solution plus universelle ...
 
Re,

alors plutôt comme ceci:

Code:
Sub Macro()
Dim cel As Range, Ws As Worksheet
For Each Ws In Worksheets
  For Each cel In Ws.UsedRange
  If cel.Value Like "08h00*" Then cel.Value = "08h00"
  If cel.Value Like "*16h00" Then cel.Value = "16h00"
  Next
Next
End Sub

A+
 
- 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
6
Affichages
285
Réponses
2
Affichages
473
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…