Pb avec macro de remplacement dans Excel

cs_lucio57 Messages postés 146 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 25 juillet 2007 - 16 nov. 2004 à 16:11
cs_lucio57 Messages postés 146 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 25 juillet 2007 - 16 nov. 2004 à 17:05
Bonjour,

Dans un fichier Excel je cherche à faire un ctrl + H afin de remplacer toutes les dates non valides par rien

Lorsque je le fais manuellement en générant une macro auto cela marche bien

La macro générée est :

Cells.Replace What:="00/01/1900", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Si je copie cette macro dans mon code il ne me modifie rien du tout !

Il passe dessus sans réaction

D'où cela peut venir
D'avance merci de votre aide

2 réponses

gandalflegris007 Messages postés 211 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 11 juin 2007
16 nov. 2004 à 16:48
Salut lucio57,

question con : t'as pu vérifier que ta macro est bien exécutée au moins ???

Dans ces cas là, il faut pouvoir isoler d'où vient le pb : si c'est le code de ta macro qui fait rien ou si c'est que t'a macro ne s'exécute pas.
Pour ça, rien de tel qu'un bon vieux msgbox("ça marche") dans ta macro.
Si quand tu fais Ctrl-h, ça te fait apparaitre le message, en effet il faudra chercher dans ton code pourquoi ça ne te remplace rien (pb de sélection des cellules, ou de formatage).
Si au contraire tu ne vois rien d'affiché, c'est qu'il ne fait pas le lien entre Ctrl-H et ta macro (pb de récupération d'évènement).

Guich
0
cs_lucio57 Messages postés 146 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 25 juillet 2007 2
16 nov. 2004 à 17:05
Ca j'y avais pensé quand même

Donc je la refais plus clair j'ai un macro qui m'importe des données de SQL les données null ressortent en 00/01/1900 dans les champs de dates !

Jusque là tout se passe bien
Lorsque j'apporte des modifs dans le fichier je dois le réenregistrer dans SQL par un lot DTS, ce lot plante lorsqu'il rencontre des dates non valides. Or j'ai tenté de lui dire que si la date n'était pas valide il la zappe mais le filtre de transfert ne fais pas attention au valeur il prend que le format : pour lui le 99/99/9999 est une date. Mais lorsqu'il alimente le champ forcément il plante.

Donc la soluce était de faire sauter ces dates avant d'enregistrer, il passe bien sur ma ligne pour remplacer, il ne plante pas mais le fichier ne change pas d'un poil ! Donc le transfert ne se fait pas. Si je fais sauté les dates non valides manuellement y a aucun souci.

Y a bien la soluce de recherche les cellules 1 à 1 et de tester la valeur mais étant donnée qu'il y 150 lignes - 150 colonnes ça peut etre chaud.
0
Rejoignez-nous