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 :

Modification code avec retour chariot [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 47
    Par défaut Modification code avec retour chariot
    Bonjour à tous,

    Pourriez-vous m'aider à supprimer les "retours chariots" inutiles dans les cellules que provoque l'exécution du code suivant si certaines cellules sont "vides" ?

    Merci beaucoup,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MAR.Range("B2").Value = Fsource.Cells(24, Col).Value & vbLf & Fsource.Cells(25, Col).Value & vbLf & Fsource.Cells(26, Col).Value

    Ce code me sert à placer le contenu de 3 cellules provenant d'une feuille Fsource dans la cellule B2 de ma feuille MAR

    Le problème c'est que lorsque les cellules sont vides j'obtiens un retour chariot inutile.

    J'aimerais, en fin de code, supprimer tous les "retours chariots" inutiles qui se trouvent dans les cellules de la feuille MAR

    J'ai essayé en utilisant ceci mais ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
         For a = 1 To 50
            Mar .Range("B1:C50").Replace X, Chr(10)
         Next
         .Range("B1:C50").EntireRow.AutoFit   '<<<==== Lligne ajoutée

  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
    Citation Envoyé par fb62840 Voir le message
    Pourriez-vous m'aider à supprimer les "retours chariots" inutiles dans les cellules que provoque l'exécution du code suivant si certaines cellules sont "vides" ?
    Il est plus simple de ne pas les mettre que de les supprimer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MAR.Range("B2").Value = IIf(Len(Fsource.Cells(24, Col).Value) = 0, "", Fsource.Cells(24, Col).Value & vbLf)
    MAR.Range("B2").Value = MAR.Range("B2").Value & IIf(Len(Fsource.Cells(25, Col).Value) = 0, "", Fsource.Cells(25, Col).Value & vbLf)
    MAR.Range("B2").Value = MAR.Range("B2").Value & Fsource.Cells(26, Col).Value

  3. #3
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 47
    Par défaut
    Bonjour,

    Merci beaucoup, avec votre explication, j'ai trouvé la solution.

    Par contre les retours chariots sont à gérer un peu différemment sinon ils s'ajoutent de manière incorrecte.

    Voici comment j'ai adapté votre code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MAR.Range("B2").Value = IIf(Len(Fsource.Cells(24, Col).Value) = 0, "", Fsource.Cells(24, Col).Value)
    MAR.Range("B2").Value = MAR.Range("B2").Value & IIf(Len(Fsource.Cells(25, Col).Value) = 0, "", vbLf & Fsource.Cells(25, Col).Value)
    MAR.Range("B2").Value = MAR.Range("B2").Value & IIf(Len(Fsource.Cells(Fsource.Cells(26, Col).Value) = 0,"", vbLf & Fsource.Cells(Fsource.Cells(26, Col).Value
    Et ainsi tout se passe bien.

    Merci beaucoup.

  4. #4
    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
    bonsoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    res = Array(Fsource.Cells(24, Col).text, Fsource.Cells(24, Col).text, Fsource.Cells(24, Col).text)
    If Join(res) Like "[a-z-A-z-0-9]" Then MAR.Range("B2").Value = Join(res, vbCrLf)
    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

  5. #5
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 47
    Par défaut
    Bonjour,
    Merci beaucoup pour votre aide

    Navré de répondre si tardivement, j'étais absent pour quelques jours.

    J'ai tenté en corrigeant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    res = Array(Fsource.Cells(24, Col).text, Fsource.Cells(25, Col).text, Fsource.Cells(26, Col).text)
    If Join(res) Like "[a-z-A-z-0-9]" Then MAR.Range("B2").Value = Join(res, vbCrLf)
    Ce qui est étrange, c'est que lorsque j'affiche le contenu de Join(res) dans une msgbox j'obtiens bien les valeurs contenues dans les 3 cellules mais la ligne IF join(Res) Like "[a-z-A-z-0-9]" Then MAR.Range("B2").Value = Join(res, vbCrLf) n'affiche pas de valeur dans la cellule B2

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

Discussions similaires

  1. affichage variable avec retour chariot
    Par swissmade dans le forum Langage
    Réponses: 1
    Dernier message: 19/03/2007, 19h02
  2. Format Text avec retour chariot
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 18/01/2007, 13h34
  3. Export champ 'text' avec retour chariot
    Par wizdom dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 22/09/2006, 16h02
  4. decompte avec retour chariot
    Par taka10 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/08/2006, 15h31
  5. afficher texte avec retour chariot aprèq requète sql
    Par frenchy371 dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/01/2004, 17h33

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