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 :

Supprimer un retour chariot via VBA [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Par défaut Supprimer un retour chariot via VBA
    Bonjour,

    Cela faisait longtemps que je n'avais pas écrit ici.

    Je reviens vers vous pour un petit souci : comme l'indique le titre, je voudrais supprimer un retour chariot, suite à l'instruction de cette requête :

    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
    18
        For k = LBound(TabUU, 1) To UBound(TabUU, 1) 'variable qui parcourt les lignes du tableau UU
            ContenuCellule = ""
            If k = 1 Then                           'si première ligne, on remplit la première
                firstcellule = ""
                f.Cells(c, 1).Value = NbUU
                firstcellule = firstcellule & TabTitres(1) & " : " & TabUU(1, 1) & " - Format : " & UFCMAS.TxtFormat.Value
                f.Cells(c, 2).Value = firstcellule
                c = c + 2               'on incrémente pour commencer le tab
            End If
            For j = LBound(TabUU, 2) To UBound(TabUU, 2) 'variable qui parcourt les colonnes
                If TabUU(k, j) <> "" Then
                    ContenuCellule = ContenuCellule & TabTitres(j) & " : " & TabUU(k, j) & Chr(10)
                End If
            Next j
            'puis on colle la fin du contenu dans la cellule
            f.Cells(c, 2).Value = ContenuCellule
            c = c + 2
        Next k
    Comme vous pouvez le constater, sur cette ligne, qui remplit ma variable ContenuCellule (je vous remets la ligne) :

    ContenuCellule = ContenuCellule & TabTitres(j) & " : " & TabUU(k, j) & Chr(10)

    par la suite, je remplis ma cellule et le tour est joué.
    Malheureusement, quand je remplis ma cellule et que ma boucle est finie, j'ai ce chr(10) qui traine à la fin de ma cellule, et du coup, dans ma cellule, j'ai un gros blanc (qui est ce fameux retour chariot).

    D'où ma question existe-t-il un moyen de supprimer juste ce dernier retour chariot ?

    Pour information, à la fin de mon instruction, j'ai essayé d'écrire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f.Cells(c, 2).Value = ContenuCellule & chr(8)
    Pensant que le CHR(8) était le backspace, qui fait un retour arrière, mais ça ne marche pas et ça me met un magnifique carré blanc sur la ligne vide

    Auriez-vous une solution/idée à me proposer ?

    En vous remerciant par avance de votre réponse


    PS : Oups, ça faisait tellement longtemps que je ne l'ai pas mis dans la bonne catégorie désolé Messieurs les modérateurs, vous pouvez le placer dans "Macros VBA Excel svp ? Merci d'avance
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f.Cells(c, 2).Value = Left(ContenuCellule,len(contenucellule)-1)

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 288
    Par défaut
    Bonjour,
    tu pourrais différencier le dernier traitement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For j = LBound(TabUU, 2) To UBound(TabUU, 2)-1'variable qui parcourt les colonnes
       If TabUU(k, j) <> "" Then
           ContenuCellule = ContenuCellule & TabTitres(j) & " : " & TabUU(k, j) & Chr(10)
       End If
    Next j
    ContenuCellule = ContenuCellule & TabTitres(j+1) & " : " & TabUU(k, j+1)
    Ou un truc dans ce genre...

  4. #4
    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,
    autre methode en utilisant Replace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Replace(strinput,chr(10),"")
    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

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 288
    Par défaut
    Mais là il remplace tous les retours, et pas seulement le dernier

  6. #6
    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
    c'est exact, mes confuses

    les 2 autres solutions me senblent bonnes a utiliser
    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

  7. #7
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Par défaut
    Citation Envoyé par mercatog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f.Cells(c, 2).Value = Left(ContenuCellule,len(contenucellule)-1)

    Ah bah vi, je suis bête, j'ai même pas pensé à faire ça

    Je vais faire l test, et vous tiens au courant

    Merci pour vos réponses
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  8. #8
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Par défaut
    Yes ça marche, merci
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

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

Discussions similaires

  1. [RegEx] Supprimer les retours chariots de trop
    Par Alexandrebox dans le forum Langage
    Réponses: 18
    Dernier message: 20/01/2009, 16h24
  2. Supprimer un fichier texte via VBA
    Par Mimosa777 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/04/2008, 22h01
  3. supprimer les retour chariot
    Par battit64 dans le forum VBA Word
    Réponses: 2
    Dernier message: 26/03/2008, 16h42
  4. Supprimer les retours chariots d'une chaine
    Par alexdfr dans le forum Delphi
    Réponses: 7
    Dernier message: 03/10/2006, 09h57
  5. Réponses: 1
    Dernier message: 11/01/2006, 11h58

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