Aide macro supprimer / \ : * ? " < > |

Résolu/Fermé
Gwen59000 Messages postés 51 Date d'inscription mardi 29 décembre 2009 Statut Membre Dernière intervention 19 avril 2010 - 8 févr. 2010 à 11:24
Gwen59000 Messages postés 51 Date d'inscription mardi 29 décembre 2009 Statut Membre Dernière intervention 19 avril 2010 - 8 févr. 2010 à 15:32
Bonjour,
J'ai un classeur excel (\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Base de données\Données Affrètement\Base de données Affrètement.xls) dans lequel se trouve ma liste de clients dans la Feuil1 de la cellule A3 à la cellule A24048.
Je cherche une macro pouvant supprimer les caractères spéciaux de cette liste (/ \ : * ? " < > |) et les remplacer par " ".

Merci d'avance,
A voir également:

7 réponses

tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
8 févr. 2010 à 11:38
0
Gwen59000 Messages postés 51 Date d'inscription mardi 29 décembre 2009 Statut Membre Dernière intervention 19 avril 2010
8 févr. 2010 à 11:55
Bonjour tompols,

J'ai pensé à ta première intention la semaine dernière de rectifier directement ma liste d'origine et je pense maintenant que tu avais raison, c'est plus simple.
Cependant, je ne sais pas rectifier ton code pour qu'il modifie juste ma liste d'origine en feuille 1 de A3 à A24048.
Pour le reste c'est à dire créer un fichier à partir de cette liste j'ai toujours tes anciens codes.

Merci,
0
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
8 févr. 2010 à 12:13
Salut,
en fait tu cherches à convertir les valeurs en cellules A3:A24048 en noms de fichiers ?
bon, j'ai ajouté un argument à la fonction de la derniere fois (remplace là ds le code que je cite plus haut) :
Function ConvertToFilename(ByVal fname As String, Optional ByVal ReplaceStr As String)

If IsMissing(ReplaceStr) Then ReplaceStr = ""

fname = Replace(fname, "/", ReplaceStr)
fname = Replace(fname, "\", ReplaceStr)
fname = Replace(fname, ":", ReplaceStr)
fname = Replace(fname, "*", ReplaceStr)
fname = Replace(fname, "?", ReplaceStr)
fname = Replace(fname, """", ReplaceStr)
fname = Replace(fname, "<", ReplaceStr)
fname = Replace(fname, ">", ReplaceStr)
fname = Replace(fname, "|", ReplaceStr)

ConvertToFilename = fname
End Function

ensuite pour ta plage A3:A24048
sub plageA()
For each c in Range("A3:A24048")
c.value = ConvertToFilename(c.value, " ") ' modifier le second argument pour changer le caractere de remplacement, rien si omis
next c
end sub

0
Gwen59000 Messages postés 51 Date d'inscription mardi 29 décembre 2009 Statut Membre Dernière intervention 19 avril 2010
8 févr. 2010 à 14:11
Re,
Excuses moi de ne pas être précis mais c'est un domaine que je ne maîtrise pas de trop.
En fait, je voudrais juste une macro qui supprime ces caractères / \ : * ? " < > | de la liste en colonne A et les remplace par " ".
Pour la création des fichiers par noms, j'ai déjà établi une seconde macro qui reprendra cette liste : aucun mérite pour moi puisque que c'est une partie de ton code de la semaine dernière !

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gwen59000 Messages postés 51 Date d'inscription mardi 29 décembre 2009 Statut Membre Dernière intervention 19 avril 2010
8 févr. 2010 à 15:16
Re tompols,

Est ce que tu vois ce dont j'ai besoin ou suis je de moins en moins compréhensible clair.

Désolé de te faire perdre ton temps,
0
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
8 févr. 2010 à 15:20
Re,
oui oui, jvois bien mais apparemment pas toi ! :p
tu as tout ce qu'il faut dans mon post précédent, colles les 2 codes dans un module et exécute le second.....
0
Gwen59000 Messages postés 51 Date d'inscription mardi 29 décembre 2009 Statut Membre Dernière intervention 19 avril 2010
8 févr. 2010 à 15:32
Oh pardon,

Je dois paraître pour un demeuré. Cela fonctionne exactement comme je le souhaite ! Merci beaucoup !!
0