RESOLU: Export Texte dans Notepad en supprimant les lignes vides

targa

XLDnaute Junior
Bonjour,

Voici mon problème:
J'ai un code qui exporte le texte de la feuille "Texte_SAP" dans un fichier Notepad au format .txt, en cliquant sur un bouton sur la feuille "Donnees"

Je souhaiterai qu'il n'y ait que les lignes dont la valeur est à 1, qui soient exportées dans le fichier Notepad.
Ceci afin de supprimer les lignes vides non remplies.

Un grand merci pour votre aide.

Salutations
 

Pièces jointes

  • 03_Export-et-Masquer-afficher-lignes-résultat-zero_ex03.xlsm
    85.6 KB · Affichages: 31
  • 03_Export-et-Masquer-afficher-lignes-résultat-zero_ex03.xlsm
    85.6 KB · Affichages: 36
  • 03_Export-et-Masquer-afficher-lignes-résultat-zero_ex03.xlsm
    85.6 KB · Affichages: 42
Dernière édition:

Herdet

Nous a quitté
Repose en paix
Re : Export Texte dans Notepad en supprimant les lignes vides

Bonjour,

Voici mon problème:
J'ai un code qui exporte le texte de la feuille "Texte_SAP" dans un fichier Notepad au format .txt, en cliquant sur un bouton sur la feuille "Donnees"

Je souhaiterai qu'il n'y ait que les lignes dont la valeur est à 0(zéro), qui soit exporté dans le fichier Notepad.
Ceci afin de supprimer les lignes vides non remplies.

Un grand merci pour votre aide.

Salutations
Bonjour,
Je suppose que ce sont plutôt les cellules non vides de la colonne 1 que tu veux exporter.
Code pour export dans un fichier texte :
Code:
Sub RD_Export_Text()
   exportFileName = "D:\" & "_" & ['Donnees'!D34].Value & ".txt"

   Open exportFileName For Output As #1    ' Ouvre le fichier en écriture et le remplace
   
   With ThisWorkbook.Sheets("Texte_SAP")
     For i = 1 To .Range("A65000").End(xlUp).Row
      If .Cells(i, 1) <> "" Then Print #1, .Cells(i, 1)  ' Écrit le texte dans le fichier.
     Next i
   End With
   Close #1    ' Ferme le fichier

End Sub

Cordialement
Robert
 

targa

XLDnaute Junior
Re : Export Texte dans Notepad en supprimant les lignes vides

Bonsoir Herdet,
Oui tout à fait..., oups pardon, en effet ce sont les lignes dont les valeurs sont à 1 que je souhaite exporter.

Merci pour ton code, ça marche bien, et en plus il bien plus court, mais du coup il n'y a plus d'interlignes qui me permettaient de séparer chaque paragraphe différent. Ce qui me facilitait la lecture et pour la sélection par la suite.

Je remarque aussi que si d'autres valeurs sont dans d'autres colonnes, celles-ci ne sont pas reportées dans l'export du fichier Notepad !?

Ma pensée de fonctionnement était:

Utiliser cette colonne avec les valeurs 0-1 afin que je puisse à l'aide de formules et conditions, décider quelles lignes je souhaites exporter.

Donc il serait génial, s'il était possible dans le code de prendre en compte cette variable.
Un grand Merci d'avance à ceux qui peuvent m'aider.:eek:
Cordialement
Targa
 
Dernière édition:

Herdet

Nous a quitté
Repose en paix
Re : Export Texte dans Notepad en supprimant les lignes vides

Bonsoir Herdet,
... interlignes qui me permettaient de séparer chaque paragraphe différent. Ce qui me facilitait la lecture et pour la sélection par la suite.
Je remarque aussi que si d'autres valeurs sont dans d'autres colonnes, celles-ci ne sont pas reportées dans l'export du fichier Notepad !?
Utiliser cette colonne avec les valeurs 0-1 afin que je puisse à l'aide de formules et conditions, décider quelles lignes je souhaites exporter.
Targa
Bonjour Targa,
Pas de soucis.
Nouveau code pour : utiliser la valeur de la colonne 8, insérer une ligne vide, lire le colonne 1 à 7, ouvrir le fichier avec Notepad

Cordialement
Robert
Code:
' Bouton d'export des textes de l'offre dans un fichier .txt, dans le répertoire Mes documents du User
    
Sub RD_Export_Text()
   exportFileName = "D:\" & "_" & ['Donnees'!D34].Value & ".txt"

   Open exportFileName For Output As #1    ' Ouvre le fichier en écriture.
   
   With ThisWorkbook.Sheets("Texte_SAP")
     For i = 1 To .Range("A65000").End(xlUp).Row
      ' interlignes
      If .Cells(i, 1) = "" Then
         Print #1, ""
      ' ou bien en forçant l'interlignage suivant colonne 8
      ' If .Cells(i, 8) = "s" Then
      '   insérer une ligne vide
      '   Print #1, ""
      
      ElseIf .Cells(i, 8) = 1 Then
         ' Écrit le texte des colonnes 1 à 7 dans le fichier si colonne 8 = 1
         T = .Cells(i, 1)
         For j = 2 To 7
            T = T & vbTab & .Cells(i, j)
         Next
         Print #1, T
      
      'elseif .........
      ' autre action
      
      End If
     Next i
   End With
   Close #1    ' Ferme le fichier txt
   
   ' pour ouvrir le fichier txt avec Notepad
   ret = Shell("notepad.exe " & exportFileName, vbNormalFocus)
End Sub
 

targa

XLDnaute Junior
Re : Export Texte dans Notepad en supprimant les lignes vides

Bonjour Herdet,
Merci pour ta nouvelle solution, que je me suis empressé d'essayé:)!

Ok maintenant pour les interlignes et si d'autres valeurs sont dans d'autres colonnes que la A, mais j'ai à nouveau mon problème initiale, toutes les lignes dont les valeurs sont à 0 sont crées dans le fichier texte, ce que je ne souhaitais pas.
ça ne fonctionne pas chez moi en tous cas!? :(
Merci pour ton aide, en te souhaitant un bon dimanche.
 

Herdet

Nous a quitté
Repose en paix
Re : Export Texte dans Notepad en supprimant les lignes vides

Bonjour Herdet,
... toutes les lignes dont les valeurs sont à 0 sont crées dans le fichier texte, ce que je ne souhaitais pas.
Bonjour,
Une autre solution en mettant un "s" (ou autre) en colonne 8 en face du titre pour insérer une ligne avant chaque paragraphe
Dans le fichier joint, adapter exportFileName = "D:\Download\" & "_" & ['Donnees'!D34].Value & ".txt" à ton répertoire
Salutations
Robert
 

Pièces jointes

  • 03_Export-et-Masquer-afficher-lignes-résultat-zero_ex03.xlsm
    89.1 KB · Affichages: 21
  • 03_Export-et-Masquer-afficher-lignes-résultat-zero_ex03.xlsm
    89.1 KB · Affichages: 20
  • 03_Export-et-Masquer-afficher-lignes-résultat-zero_ex03.xlsm
    89.1 KB · Affichages: 23

targa

XLDnaute Junior
Re : Export Texte dans Notepad en supprimant les lignes vides

Bonjour,
Merci pour la solution, mais même en testant ton fichier, je me retrouve toujours avec les lignes vides (avec valeurs à zéro) qui sont exportées dans le fichier txt. Ce qu'il ne faudrait pas.
 

targa

XLDnaute Junior
Re : Export Texte dans Notepad en supprimant les lignes vides

J'ai trouvé finalement une petite parade pour mes interlignes et valeurs dans les autres cellules.

J'ai pris la première solution, J'ai mis une petite condition avec un espace (ex.: =SI(A1>"";" ";"") ) s'il doit y avoir une interligne.

Pour les valeurs qui sont sous d'autres cellules que la colonne A, je vais les concatener sous la colonne A.
(ex.: Concatener(A9;A10;A11;etc...)

Merci tout de même pour votre aide.

Salutations
 

Pièces jointes

  • 03_Export-et-Masquer-afficher-lignes-résultat-zero_ex03_SOLUTION.xlsm
    84.8 KB · Affichages: 20

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 869
Membres
103 402
dernier inscrit
regishar