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

Résolu
Gwen59000 Messages postés 52 Statut Membre -  
Gwen59000 Messages postés 52 Statut Membre -
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,
Configuration: Windows XP Internet Explorer 7.0

7 réponses

  1. Gwen59000 Messages postés 52 Statut Membre
     
    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
  2. tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   460
     
    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
  3. Gwen59000 Messages postés 52 Statut Membre
     
    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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Gwen59000 Messages postés 52 Statut Membre
     
    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
  6. tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   460
     
    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
  7. Gwen59000 Messages postés 52 Statut Membre
     
    Oh pardon,

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