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 :

Fonction Replace qui ne fonctionne pas [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Par défaut Fonction Replace qui ne fonctionne pas
    Bonjour à tous,

    Je suis confronté un problème lors de l'utilisation de la fonction Replace en VBA.

    Mon objectif est de remplacer les sauts chariot présent dans une cellule déterminée par un caractère '$', plus facile pour continuer mon traitement. Lorsque que je teste mon code sur une cellule la,ba, pas de problème, mais lorsque que je lance le code sur la cellule source, aucun résultat.

    Ci-dessous le code utilisé, et en pièce le fichier utilisé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    Sub Test()
    Dim FeuilleRecep As Worksheet
    Set FeuilleRecep = sh_Reception
     
        ' Cellule désirée
        FeuilleRecep.Range("A4").Replace Chr(10), "$"
        ' Cellule test
        FeuilleRecep.Range("A7").Replace Chr(10), "$"
        ' Temporisation
        Application.Wait Now + TimeValue("0:00:02")
        'Modification inverse pour relancer un test
        FeuilleRecep.Range("A4").Replace "$", Chr(10)
        FeuilleRecep.Range("A7").Replace "$", Chr(10)
     
    End Sub
    Je suis sûr qu'il s'agit d'une subtilité sur le format de la cellule. Si une manip' permet de formater la cellule source permettant le traitement, je suis preneur :).

    Par avance merci de votre aide, et bon courage !
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    as-tu regarde le code qui t'etait donne par l'enregistreur de macro ? Je pense que Chr(10) est a completer/a remplacer avec Chr(13)
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    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
    j'ai testé ton fichier il y a bien un saut de ligne mais en fait avec la fonction replace sur "celle il faut replacer alt+chr(10) ce qui est impossible alors tu dois recupérer le texte dans un string ou modifier la chaine directement mais toujours en tant que string
    et faire sauter les chr(10)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    with FeuilleRecep.Range("A4"):.value =Replace(.Value, Chr(10), "$"):end with
    pour pouvoir taper un saut de ligne dans une cellule la touche alt doit être enfoncée pour taper sur enter donc l'inverse doit être considéré mais a ma connaissance je ne sais pas mais il me semble que ce ne soit pas possible de replacer "alt"+enter
    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

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Par défaut Ça marche!
    Bonjour Jean-Philippe, Bonjour Patrick

    @Jean-Philippe: Oui, et même en tapant Alt+0010, cela ne fonctionne pas.

    @Patrick: C'est exactement ça! Ton code fonctionne, il suffisait de travailler la Value, mais je n'avais pas essayé si la fonction Replace fonctionnait aussi.

    Le problème est résolu, merci !

    J'en profite pour vous remercier de manière générale, notamment Jean-Philippe, qui m'avait déjà aidé en répondant aux autres discussions

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction .replace qui ne fonctionne pas.
    Par Rominou777 dans le forum Débuter avec Java
    Réponses: 19
    Dernier message: 09/02/2012, 19h22
  2. Réponses: 20
    Dernier message: 06/05/2010, 12h32
  3. Fonction mysql qui ne fonctionne pas pour un ancien postgreIste
    Par floreasy dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 15/01/2008, 18h49
  4. [SQL] Fonction SUM qui ne fonctionne pas !
    Par nigg4z dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 11/10/2007, 16h20
  5. Fonction While {} qui ne fonctionne pas
    Par zoom61 dans le forum Langage
    Réponses: 3
    Dernier message: 15/11/2006, 12h17

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