Remplacer 00/01/1900 par ""
Bonjour à tous,
Problème : Je souhaite supprimer dans une colonne les 0. Cette colonne comprend des commentaires en lettres et chiffres. Par exemple : S05 : 35 carottes et 10 choux.
Souhait : je souhaite supprimer les 0 "A savoir les cellules vides, j'obtiens un 0 car je fais une recherchev dans un autre classeur" des cellules vides mais sans impacter mes commentaires.
Solution : Transformer la colonne en format date pour obtenir un 00/01/1900 à la place de 0 est le supprimer avec la fonction recherche et remplacer par
Columns("A:A"),replace "00/01/1900", ""Le code ne marche pas en VBA.
Avez-vous une solution ?
Devrais-je utiliser une boucle pour obtenir le même résultat.
Je vous remercie pour votre aide.
Laurent
Bonsoir
Clic droit sur tes cellules > Format de cellule > Onglet Nombre > Catégorie Personnalisée > Tu remplaces Standard sous Type par :
0;0;;@Valeurs positives avec un chiffre;Valeurs négatives avec un chiffre;Valeurs nulles sans rien;Texte
Bonsoir,
D'abord, la méthode la plus simple est de mettre un format de cellule n'affichant pas les 0.
Si on travaille sur des chaînes, la fonction T permet de forcer un affichage texte et transforme donc le renvoi des cellules vides en "" (mais si nombres, inutilisable).
Si tu mets un format de date, cela ne transforme pas la valeur qui demeure : 0.
Cette valeur 0 est évidemment la même pour Excel et VBA en tant que nombre.
Mais si tu veux la faire considérer comme date, là ce n'est plus la même valeur.
D'abord parce qu'Excel ne gère pas les dates avant le 1er janvier 1900, mais malencontreusement (c'est malencontreux dans certains cas, car le mieux serait qu'il les gère) considère 0 comme date, avec l'affichage que l'on sait/
Ensuite parce que VBA, lui, les gère, donc le 0 a bien une signification de date en VBA, or le 0 janvier 1900 ne correspond à aucune date.
Ce devrait donc être le 31 décembre 1899, mais non ! car avant le 1er mars 1900 il y a un décalage d'un jour entre Excel et VBA, en raison du fameux bogue du 29 février 1900 (qui n'a jamais existé) mais qui est reconnu par Excel (mais pas par VBA).
Donc pour VBA, 0 en tant que date est le 30 décembre 1899.
Donc aussi ta formule de remplacement ne peut pas marcher.
Cordialement.