IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Changer des caractères


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 5
    Par défaut Changer des caractères
    Bonjour,

    Je cherche à modifier des caractères dans plusieurs cellules en VBA

    ex: dans une cellule on trouve: "mv 09/07<br /><br />connexion"
    Et je veux supprimer les <br />

    Comment faire?

    Merci bien pour vos réponses

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Ruban Accueil > Rechercher et Sélectionner > Remplacer > Champ Rechercher = </br> > Champ Remplacer par : laisser vide > Remplacer tout

    Pour un équivalent en VBA, méthode Replace de Range.
    https://msdn.microsoft.com/fr-fr/lib.../ff194086.aspx

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 5
    Par défaut
    Merci

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2017
    Messages : 132
    Par défaut
    Petite précision dans .Replace tu dois écrire ta formule avec la convention et le vocabulaire anglosaxons. Par exemple si tu veux remplacer la formule =SOMME(A1;B1) il faut écrire :

    Ecrire les fonctions en français ne cause pas d'erreur mais les remplacements ne sont pas faits. Ecrire ";" au lieu de "," peut causer des erreurs et/ou faire n'importe quoi dans la feuille xD

    Si tu as a remplacer des guillemets par exemple il faut les échapper (en les doublant ou en utilisant Chr(34)).

    Petite astuce : tout comme dans le recherche et remplacer (ctrl+H), il est possible d'utiliser l'astérisque (*) comme joker.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    What:="=SUM(*" 'remplacement de toutes les formules somme
    Aussi un conseil : la documentation MSDN est extrêmement complète il est donc dommage de s'en priver. Et bien sûr on apprend beaucoup en cherchant par soi-même même si c'est bien quand l'on sèche de trouver une aide extérieur bien sûr

  5. #5
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2017
    Messages : 132
    Par défaut
    Je vois pas ce que qui m'a valu un pouce rouge. J'ai fait une proposition et effectivement l'astuce de l'astérisque fonctionne. Plutôt que de mettre des pouces rouges, pourquoi ne pas expliquer ce qui n'est pas bien ? Sinon si j'écris vraiment n'importe quoi envoyez un MP pour dire de supprimer car un pouce rouge sans rien ça n'apporte rien. Moi je ne mets pas des pouces rouges comme ça. C'est trop facile.

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Nagel Tha Voir le message
    Je vois pas ce que qui m'a valu un pouce rouge.
    Moi non plus, c'est pour ça que j'ai mis un pouce vert pour essayer de compenser.
    Même si ta réponse ne résout pas directement le problème, l'effort est sincère et louable.

  7. #7
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour,

    @Nagel Tha
    Je vois pas ce que qui m'a valu un pouce rouge. J'ai fait une proposition et effectivement l'astuce de l'astérisque fonctionne. Plutôt que de mettre des pouces rouges, pourquoi ne pas expliquer ce qui n'est pas bien ? Sinon si j'écris vraiment n'importe quoi envoyez un MP pour dire de supprimer car un pouce rouge sans rien ça n'apporte rien. Moi je ne mets pas des pouces rouges comme ça. C'est trop facile.
    Là dessus je te rejoins, si ce que tu dis pose problème à une personne, autant qu'elle te le fasse savoir en t'expliquant le pourquoi. Par contre je ne suis pas pour le MP, car les explications peuvent servir à tout le monde et éviter des problèmes de codage à certains moins affûté dans l'écriture du VBA.
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  8. #8
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2017
    Messages : 132
    Par défaut
    Oui, je suis d'accord avec toi. Cependant, si le problème c'est pas le codage en lui-même un MP est justifié. Ou alors si celui qui juge n'est pas sûr de lui. En tout cas je suis ouvert à la discussion et je n'aime pas les jugements gratuits. Une des raisons pour lesquelles je n'ai pas FaceBook lol

    Concernant la question, ctrl+H c'est bien .Replace en VBA (cf enregistreur de macro) et l'astuce du joker est valable : dans certains cas on ne connaît pas la chaîne à remplacer mais on connaît les parties à ne pas remplacer (je pense notamment au cas des fichiers qui vont de répertoire en répertoire et qui voient les références aux cellules additionnées de chemins). Il y a d'autres solutions mais pas toujours simples. Une autre raison d'utiliser l'astérisque d'ailleurs pourrait être pour omettre LookAt. Si quelqu'un n'est pas d'accord il peut essayer et s'en rendre compte. Ce n'est peut-être pas la meilleure solution mais elle marche. Et si ça vaut vraiment un pouce rouge alors soit il faut en faire profiter tout le monde soit envoyer un MP si c'est juste ma façon de parler.

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    tres mauvaise idée l'asterisque dans le cadre d'un remplacement de formule

    et si la formule sum n'etait qu'une partie d'une formule plus complexe dans la cellule vous y avez pensé !!?
    ou alors terminez la chaine avec ")" apres "*" et quoi que la encore ca ne match pas puisque "*" peut englober tout les caracteres y compris tout les ")" te toutes les sub formules
    donc non c'est pas bon
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  10. #10
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2017
    Messages : 132
    Par défaut
    Bonjour Patrick,

    Oui j'y ai pensé et justement et c'est dans ce cadre qu'elle est utile mais cela suppose d'avoir une petite réflexion dessus. Je propose l'idée car je l'ai utilisée pour faire des centaines de remplacements dans des centaines de dossiers et que j'ai pu ainsi corriger toutes les erreurs liées aux chemin de fichier et absolument aucune erreur n'a été créée sinon je ne l'aurais même pas utilisé. L'exemple que j'ai donné était trivial de manière volontaire afin que cela soit compréhensible.

    Dans le cadre auquel je pensais, justement à cause de la quantité phénoménale de mauvais liens que je ne connaissais pas et dont je ne connaissais pas les longueurs cela m'a bien facilité la vie. Pour que cela ne pose pas de problème, il faut juste connaître les bornes de la partie qui gêne.

    Exemple :
    =FONCTION1(FONCTION2(ADRESSE D'UNE PLAGE))
    Dans le code ci-dessus, je ne connais ni fonction1, ni fonction 2 ni l'adresse de la plage. Cependant, je connais une partie de l'adresse (celle qui se réfère aux cellules), mettons "A1" pour l'exemple et je sais que "A1" n'est utilisée que dans cette formule et nulle part ailleurs et qu'elle ne sera JAMAIS utilisée ailleurs. Donc sachant que je ne veux conserver que "A1" je peux utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Replace What:="(*A1)", Replacement:="(A1)"
    Vu le temps très limité que j'avais, j'ai mis ça en place et encore une fois je le propose car je n'ai eu ABSOLUMENT aucun problème à faire comme ça.

    Maintenant, s'il y a d'autres manières de faire mettre un pouce rouge n'apporte absolument rien à part me frustrer car je propose un truc qui fonctionne (et que encore une fois en prenant les précautions nécessaires n'apportera pas de problème) et on ne me propose pas d'alternative. Or si j'ai utilisé le joker c'est justement car je n'ai pas trouvé comment faire (et ça arrive quand tu as un temps limité et que soit tu utilises ça soit ton code ne fait rien du tout).

    Au passage en termes de "et si ?" il faut également penser à "est-ce que le "si" se présentera ?".

    Pour conclure, une proposition d'alternative pour quand ça ne fonctionnerait pas serait très appréciée non seulement par moi mais aussi par les autres

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    Bonjour Nagel tha
    Pour conclure, une proposition d'alternative pour quand ça ne fonctionnerait pas serait très appréciée non seulement par moi mais aussi par les autres
    justement tiens
    il existe une fonction excel vba qui te donne le range qui est dans une formule en vba je ne m'en souviens plus je chercherais

    je crois me souvenir que c'est precedents

    exemple en B1 je met =SOMME(A2:A8)+SOMME(A15:A22)
    et en vba je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
    Range("b1").Precedents.Select
    For Each area In Selection.Areas
    texte = texte & area.Address & vbCrLf
    Next
    MsgBox "les plages si dessous sont dans les formules de ""B1""" & vbCrLf & texte
    End Sub
    bien pratique pour faire des replacement de range dans les formules

    maintenant tu l'a ton alternative et pas besoins de suputer avec un asterisque ou autre stratagememes tu a exactement les adresses de plage qui sont dans la formule

    tu peux faire effectivement un replace "$" sur les adress trouvées pour les avoir ecrites literalement et identiquement que dans la formule
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #12
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2017
    Messages : 132
    Par défaut
    Merci pour ta proposition. Je vais regarder tout ça

Discussions similaires

  1. impossible changer des caractères singuliers
    Par sabredebois dans le forum Access
    Réponses: 5
    Dernier message: 06/01/2010, 23h13
  2. [OpenOffice][Texte] openoffice writer changer l'orientation des caractère dans une table
    Par cpf2006 dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 25/06/2008, 16h44
  3. Changer des caractères dans les noms de fichiers
    Par ForgetTheNorm dans le forum Linux
    Réponses: 2
    Dernier message: 07/01/2008, 15h26
  4. Changer des chaînes de caractères dans un fichier
    Par troumad dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 10/11/2006, 09h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo