Bonjour,
voila mon nouveau pb si quelqu un voila d'ou il viens.
j'ai des donnees d'entree de type different (1,0,01, 02/02/0122....)
je voudrai les remplacer de maniere a ce que:
1) si =chiffre 0,1,2,.... ca devient 00,01,02, ....0x
2) si =xx le garder tel kel
3)si c une chaine du genre 02/12/0222 ,01/013 ca devient: 0222 , 013 ....
j ai illustre dans le fichier attaché un exemple de ce que j'obtien avec ma macro et une colonne de ce que je souhaite reelement.
la macro est :
For x = 2 To iderligne
Cells(x, 46) = Right(Cells(x, 12), 7)
Next
For x = 2 To iderligne
l = Len(Cells(x, 12))
If l = 1 Then Cells(x, 12).NumberFormat = '0#'
If Cells(x, 12) = 0 Then Cells(x, 12).NumberFormat = '00#'
Next
iderligne = Range('B65536').End(xlUp).Row
For x = 2 To iderligne
slash1 = InStr(Cells(x, 46), '-')
slash2 = InStr(slash1 + 1, Cells(x, 46), '-')
If slash2 = 0 Then
slash2 = Len(Cells(x, 46))
Cells(x, 12) = Mid(Cells(x, 46), slash1 + 1, slash2 - slash1)
Else
Cells(x, 12) = Mid(Cells(x, 46), slash1 + 1, slash2 - slash1 - 1)
End If
Next
sachant que dans mon vrai fichierle données sont dans la colonne 12 et j utilise une colonne'tempo' =46
pourquoi je n obtient pas exactement ce que je veut?
Merci d'avance à tout le forum
Anna [file name=Format_20050614135026.zip size=2559]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Format_20050614135026.zip[/file]
voila mon nouveau pb si quelqu un voila d'ou il viens.
j'ai des donnees d'entree de type different (1,0,01, 02/02/0122....)
je voudrai les remplacer de maniere a ce que:
1) si =chiffre 0,1,2,.... ca devient 00,01,02, ....0x
2) si =xx le garder tel kel
3)si c une chaine du genre 02/12/0222 ,01/013 ca devient: 0222 , 013 ....
j ai illustre dans le fichier attaché un exemple de ce que j'obtien avec ma macro et une colonne de ce que je souhaite reelement.
la macro est :
For x = 2 To iderligne
Cells(x, 46) = Right(Cells(x, 12), 7)
Next
For x = 2 To iderligne
l = Len(Cells(x, 12))
If l = 1 Then Cells(x, 12).NumberFormat = '0#'
If Cells(x, 12) = 0 Then Cells(x, 12).NumberFormat = '00#'
Next
iderligne = Range('B65536').End(xlUp).Row
For x = 2 To iderligne
slash1 = InStr(Cells(x, 46), '-')
slash2 = InStr(slash1 + 1, Cells(x, 46), '-')
If slash2 = 0 Then
slash2 = Len(Cells(x, 46))
Cells(x, 12) = Mid(Cells(x, 46), slash1 + 1, slash2 - slash1)
Else
Cells(x, 12) = Mid(Cells(x, 46), slash1 + 1, slash2 - slash1 - 1)
End If
Next
sachant que dans mon vrai fichierle données sont dans la colonne 12 et j utilise une colonne'tempo' =46
pourquoi je n obtient pas exactement ce que je veut?
Merci d'avance à tout le forum
Anna [file name=Format_20050614135026.zip size=2559]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Format_20050614135026.zip[/file]