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"
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
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
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 ...
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