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 :

Vba en format texte


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juillet 2018
    Messages : 40
    Par défaut Vba en format texte
    Bonjour,

    Pour commencer bonne année à tous les utilisateurs du site.

    Voici ma problématique :

    via une macro je copie un fichier excel dans una utre et j'enregistre en format texte. Cependant, lors de lors de l'édition du fichier il me copie une ligne de trop en blanc.Book1.txt

    J'ai essayé de lui dire de supprimer le contenu en dessous d'une certaine ligne, idem si je demande de supprimer les lignes mais rien y fait il reste toujours cette ligne en plus.

    Ce que je desire est que cette ligne lors du format texte ne soit plus la.

    Pouvez vous m'aider?


    Bien à vous,

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour




    Ceci dit c'est plutôt normal que la marque de fin de fichier se trouve seule sur sa ligne.

    Dans File System Object, il y a un moyen pour connaître le numéro de la ligne où va aboutir la prochaine information dans un fichier ouvert "Fort Appending". Donc en enlevant 1 à cette valeur, tu as la dernière ligne occupée. Le fichier d'aide de Microsoft Windows Script doit être à quelque part sur ton disque. Sinon il y a un chapitre complet sur MSDN

    Là, ma batterie de portable est vide et je ne peux plus chercher à ta place.

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    et j'enregistre en format texte
    par quelles instructions/code ?
    On ne les voit pas.

  4. #4
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juillet 2018
    Messages : 40
    Par défaut
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Workbooks(origine).Sheets(VLookupResultCSV).Activate
    For i = A To 5000
    If Workbooks(origine).Sheets(VLookupResultCSV).Cells(i, 4) <> "" Then
    i = i + 1
    Else
    x = i - 1
    Exit For
    End If
     
    Next i
     
     
     
     
    'cas aaaa
     
     
    If UCase(Counterpart) = UCase("aaaa") Then
     
     
    Workbooks(origine).Sheets(VLookupResultCSV).Range("A1:K" & x).Copy
    Workbooks(name1).Sheets(index).Range("A1:K" & x).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
     
    Else
     
    Workbooks(origine).Sheets(VLookupResultCSV).Activate
    Stock = WorksheetFunction.Match("Stock", Workbooks(origine).Sheets(VLookupResultCSV).Range("A:A"), False)
    dercol = Cells(Stock, Columns.Count).End(xlToLeft).Column
    cop = Range(Cells(2, 1), Cells(x, dercol)).Copy
     
    Workbooks(name1).Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues
     
     
     
    Application.CutCopyMode = False
     
     
    End If

  5. #5
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    Bonjour,

    La boucle for...next incrémente déjà la variable i automatiquement.
    Le i = i + 1 me semble de trop.

  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
    Déjà, tu peux remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Workbooks(origine).Sheets(VLookupResultCSV).Activate
    For i = A To 5000
    If Workbooks(origine).Sheets(VLookupResultCSV).Cells(i, 4) <> "" Then
    i = i + 1
    Else
    x = i - 1
    Exit For
    End If
    Next i
    Par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x = Workbooks(origine).Sheets(VLookupResultCSV).Cells(Rows.Count, 4).End(xlUp).Row
    Pour le reste, comme il n'y a pas d'instruction dans ton code qui génère le fichier texte, difficile de corriger le problème.

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/11/2016, 23h34
  2. [XL-2010] VBA - Exporter en tableau format texte
    Par Safra dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 23/12/2015, 19h25
  3. [XL-2010] Stocker un nombre sous format text en vba
    Par rob1son76 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/06/2015, 01h00
  4. format texte vba
    Par estopa88 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/07/2012, 15h31
  5. [VBA-E] cellule au format texte a la creation d'une feuille
    Par julio84 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2006, 17h36

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