macro creer par enregistrement petit probleme !

yojema

XLDnaute Occasionnel
Bonsoir le forum

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 ??!

ci dessous un petit fichier exemple :
Regarde la pièce jointe probleme enregistrement macro.xls

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+
 

hbenalia

XLDnaute Occasionnel
Re : macro creer par enregistrement petit probleme !

Bonjour à tous, bonjour yojema


J'ai créé cette macro. Après son exécution, j'ai dû ajouté en deuxième colonne la formule:
Code:
=DATE(ANNEE(A2);MOIS(A2);JOUR(A2))
et en étendant la formule le long de cette colonne, tout redevient normal (ne pas oublier de choisir le format date souhaité à cette colonne)


Cordialement
 

yojema

XLDnaute Occasionnel
Re : macro creer par enregistrement petit probleme !

Bonjour à tous, bonjour yojema


J'ai créé cette macro. Après son exécution, j'ai dû ajouté en deuxième colonne la formule:
Code:
=DATE(ANNEE(A2);MOIS(A2);JOUR(A2))
et en étendant la formule le long de cette colonne, tout redevient normal (ne pas oublier de choisir le format date souhaité à cette colonne)


Cordialement

Bonsoir hbenalia

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

merci a vous
a+
 

ROGER2327

XLDnaute Barbatruc
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]
ROGER2327
#2862
 

jeanpierre

Nous a quitté
Repose en paix
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.

Bonne soirée.

Jean-Pierre

Edit : un Bonsoir à ROGER
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 896
Membres
103 404
dernier inscrit
sultan87