Comme souvent comme je bidouille en VBA j' utilise l enregitreur de macro
de excel pour lui demander d' executer une fonction d excel en auto par la suite
dont je n ai aucune idée au départ de comment cette fonction s' écrit en langage VBA cette fois ci c est la fonction remplacer du menu édition de excel qui me pose un probleme de résultat différent selon que j'execute en manuel ou via la macro
sans que la macro bug pour autant ??!
Il sagit de données issu d un logiciel SAP qui affiche des date sous ce format de départ (01.02.2010) qui n'est pas reconu comme date par exel .Pour que excel le reconaisse j ai eu l idée de selectionner toutes les donneés contenant ces dates et de remplacer le point "." par un / et alors excel reconnait ensuite ce format comme représentant une date .Je precise que c est un point qui me bloque a la fin de l elaboration d une macro qui manipule enomément les données de départ issu de ce logiciel afin de pouvoir en tirer une stat
avant de passer a la macro pour solutionner ce problème et que ces données (les date!) sont issu d un copier/collagespecial ou je choisi de coller seulement les valeur j ai donc essayer de solutionner (ce qui aurait été plus simple) en modifiant le format des cellules de déstination puisque ce type de format date est proche de ce que font les Allemands ( format type Allemand de date sous excel : 01.1.2010)
mais je n y suis pas arriver
un petit coup de main SVP
merci a+
Merci de te pencher sur mon probleme mais malheureusement il reste en entier
dans l exemple il apparait a la ligne 12 puisque il devrait m afficher comme date
le : 03/02/2010 mais sa continue à affiche le 02/03/2010
la solution que tu me propose me fait redonder le meme probleme sur une 2ème colonne
Re : macro creer par enregistrement petit probleme !
Bonsoir yojema, hbenalia
Le provincialisme états-unien est exaspérant !
Une procédure alternative :
Code:
[COLOR="DarkSlateGray"][B]Sub toto()
Dim oCel As Range
With Selection [COLOR="SeaGreen"]'Mettez la plage que vous voulez à la place de Selection[/COLOR]
For Each oCel In .Cells
If CStr(oCel.Value) Like "##.##.####" Then _
oCel.Value2 = DateSerial(Right$(CStr(oCel.Value), 2), _
Mid$(CStr(oCel.Value), 4, 2), Left$(CStr(oCel.Value), 2))
Next
End With
End Sub[/B][/COLOR]
Re : macro creer par enregistrement petit probleme !
Bonsoir yojema, hbenalia,
Pas mieux à te proposer.
J'ai tester, après Remplacer . par / et remplacer tout., la formulation proposée et elle fonctionne très bien.
Te reste, peut-être, à copier cette nouvelle colonne sur ta colonne intiale par un Copier/Collage spécial Valeur sur ta première colonne et pour finir supprimer la colonne intermédiaire.
J ai du mal a saisir le sens de cette phrase:
"Le provincialisme états-unien est exaspérant !"
Mais bon merci quand meme a vous votre solution fonctionne comme je le
souhaite
bonne soirée a vous 2
a bientôt