Bonjour à tous,
J'ai un classeur contenant des dates, dont certaines étaient inconnus au moment de la saisie initial et se trouve sous le format "(XX/02/2017)" par exemple, avec deux "X" à la place du jour. J'ai donc écris une macro permettant de supprimer les parenthèses, et de changer les "X" en jours (XX ou 0X changé en 01, 1X changé en 15 et 2X changé en 30) :
Aucun beug, elle fonctionne comme je veux à une exception près : lors de la réécriture dans la cellule, si le jour a été remplacé par "01", il est interverti avec le mois. Concrètement, une date à la base "(XX/02/2017)" ou "(0X/02/2017)" sera remplacé par 02/01/2017, au lieu de 01/02/2017 sans que je comprenne pourquoi ... Savez vous comment éviter ça ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 For i = 2 To 10561 test = ThisWorkbook.Sheets("PLA-PLANNING").Cells(i, 8) x = InStr(1, test, "(", 1) y = InStr(1, test, ")", 1) If Left(test, 3) = "(1X" Then test = Replace(test, "1X", "15") End If If Left(test, 3) = "(2X" Then test = Replace(test, "2X", "30") End If If Left(test, 3) = "(0X" Then test = Replace(test, "0X", "01") End If If Left(test, 3) = "(XX" Then test = Replace(test, "XX", "01") End If If x <> 0 Then test = Replace(test, "(", "") test = Replace(test, ")", "") End If ThisWorkbook.Sheets("PLA-PLANNING").Cells(i, 8) = test Next i
Merci d'avance pour votre aide !
Partager