Enlever espace dans chaine caractère VBA
Céline
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour j,aimerais enlever des chaines de caractère sur un format heure, mais ca ne marche pas voici mon code :
Sheets("AM").Select
Range("B3:B3").Select 'cellule où chercher l'heure (IL est deja sous format 08:30)
Selection.Copy
Range("T11:T11").Select 'cellule ou le coller
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats 'enlever les 0 et les :
Dim Ce As Variant
Sheets("AM").Select
For Each Ce In Range("T11:T11") '****ENLEVER LES ZÉROS
Ce.Value = Replace(Ce.Value, "0", "")
Ce.Value = Replace(Ce.Value, ":", "")
Next Ce
Je veux avoir 715 à la place de 07:15 ou 1545 a la place de 15:45:00
MERCI!!!
Sheets("AM").Select
Range("B3:B3").Select 'cellule où chercher l'heure (IL est deja sous format 08:30)
Selection.Copy
Range("T11:T11").Select 'cellule ou le coller
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats 'enlever les 0 et les :
Dim Ce As Variant
Sheets("AM").Select
For Each Ce In Range("T11:T11") '****ENLEVER LES ZÉROS
Ce.Value = Replace(Ce.Value, "0", "")
Ce.Value = Replace(Ce.Value, ":", "")
Next Ce
Je veux avoir 715 à la place de 07:15 ou 1545 a la place de 15:45:00
MERCI!!!
4 réponses
-
Bonjour,
On peut faire plus simple
Sub test() Dim h2txt As String h2txt = Range("b3").Text h2txt = Left(h2txt, 2) & Mid(h2txt, 4, 2) If Left(h2txt, 1) = "0" Then h2txt = Right(h2txt, 3) 'MsgBox h2txt Range("t11").Select Selection.NumberFormat = "@" Range("t11").Value = h2txt End Sub
Avec ce code, 00:00 donne 000 -
bonjour à tous
autre proposition
Public Function cvhms(d As Date) As String Dim ds As String ds = Hour(d) & Minute(d) & Second(d) While Right(ds, 1) = "0" ds = Left(ds, Len(ds) - 1) Wend cvhms = ds End Function
reste à savoir ce qu'on veut obtenir si l'entrée en 00:00:00
bonne suite -
Bonjour,
Pas besoin de poster en double
Dim S As String 'Pourquoi employer une boucle pour modifier UNE SEULE CELLULE S = [T11] S = Replace(S, "0", "") S = Replace(S, ":", "") [T11] = "" [T11].NumberFormat = "@" [T11] = S
Un peu biscornu mais sans vider la cellule pas moyen de changer le format.
A+ -
> lermite
j'ai pensé (mais bon ...) que pour quelque chose du genre 07:00:25 le résultat devait contenir le 0 des mn
bonne suite