Enregistrer en txt un nombre de colonne précis

  • Initiateur de la discussion Initiateur de la discussion cdumas
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

cdumas

Guest
Bonjour,

Je voudrais enregistrer avec une macro mon fichier excel en fichier texte, mais seulement les 10 premières colonnes et que ce soit fixe. Même si il y a des infos après.

meci,
 
Re : Enregistrer en txt un nombre de colonne précis

Bonjour,
En fait, je ne comprend pas c'est au moment de l'enregistrement, j'ai 2 fichiers.
- le premier contient mes données à récupérer (fichier actif).
- le second contient la macro.

C'est le second fichier qui est enregistré en txt.
je ne peux pas mettre la macro directement dans mon 1er fichier, car c'est 20 nouveaux fichiers tous les mois.

Voilà mon code du fichier de la macro.

Code:
For i = 1 To 100
        For j = 1 To 80
            ThisWorkbook.Sheets(1).Cells(i, j) = ActiveWorkbook.ActiveSheet.Cells(i, j)
        Next
    Next

 nomfichier = Application.InputBox("Entrer le nom de fichier")
 
    'Enregistrement de la feuille active
    ThisWorkbook.SaveAs Filename:= _
        "C:\" & nomfichier & ".txt" _
        , FileFormat:=xlText

J'ai bien les bonnes colonnes mais dès que je passe en txt, j'ai trop ou pas assez de colonne, parfois j'en ai 70 et d'autre fois 100.

Comment faire ?

Merci
Merci
 
Re : Enregistrer en txt un nombre de colonne précis

RE

Avec l'exemple que tu donnes, tu recuperes les 100 premieres lignes pour 80 colonnes
Si tu as un nombre variable de colonnes renseignées, ton fichier texte en tiendra compte pour chaque ligne il me semble.

Si tu veux les 10 premieres colonnes, il faut que tu ais j=1 to 10 et pas 1 to 80
 
Re : Enregistrer en txt un nombre de colonne précis

En fait j'ai ajouté ce code :

Code:
If IsEmpty(ActiveWorkbook.ActiveSheet.Cells(i, j)) Then
            ThisWorkbook.Sheets(1).Cells(i, j) = "NC"
             Else
             ThisWorkbook.Sheets(1).Cells(i, j) = ActiveWorkbook.ActiveSheet.Cells(i, j)
            End If

Si c'est vide, il crée quand même ma colonne.
Et en effet, pour 10 colonnes il faut faire j = 1 To 10

Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

R
  • Question Question
Réponses
3
Affichages
106
regis6460
R
  • Question Question
Microsoft 365 Fonction si
Réponses
7
Affichages
222
Retour