• Initiateur de la discussion Initiateur de la discussion drisou
  • 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 !

drisou

XLDnaute Occasionnel
bonsoir le forum,
voila ,ça fait 3 jours que je me prends la tête a essayer de faire une macro en m'aidant de l'enregistreur mais je n'arrive pas a faire ce que je veux , je sollicite donc votre aide pour y arriver.
je m'explique , je souhaiterais depuis excel créer une macro pour importer des fichiers textes, ,(délimiter et point virgule)
et coller ses fichiers textes dans excel dans la cellule active .
étant donnés que les fichiers textes que j'importe chaque jours ont des noms différents.
car j'ai trouver une macro qui me fait çà, mais elle ne me les importes pas comme je veux (délimiter et point virgule). que j'ai mis dans un fichier ci-joint
je vous remercie pour vos réponses.
 

Pièces jointes

Re : importer texte

re, désolé kjin c'est en fonction de ce qu'il était possible de faire au fur et mesure ,que l'idée m'est venu d'approfondir.
Merci bien a toi , dans ce nouveau code quand lance la macro la premiere fois et que je séléctionne mes fichiers a importer j'ai un message d'erreur lors de l'import qui me renvoie sur une ligne du code: en jaune
Chemin = Application.GetOpenFilename("Fichiers Texte,*.txt", , , , True)

mais quand je réessaye a nouveau d'importer dans le même fichier excel ça fonctionne.
j'ai cette erreur ,uniquement quand l'importe sur un nouveau fichier excel la première fois.
Merci encore.
 
Re : importer texte

Re,
Désolé, erreur sur la variable "Chemin" et je n'avais pas mis la gestion d'erreur
Mais on va y arriver 😀
Sub Fichier_TXT_import3()
Dim Resultat
Dim Chemin As Variant
Dim Fich As Integer
Dim Lecture As Integer
Dim Compteur As Variant
Chemin = Application.GetOpenFilename("Fichiers Texte,*.txt", , , , True)
If IsArray(Chemin) Then
For Fich = 1 To UBound(Chemin)
Lecture = FreeFile()
Open Chemin(Fich) For Input As #Lecture
Application.ScreenUpdating = False
Compteur = 1
Do While Seek(Lecture) <= LOF(Lecture)
Line Input #Lecture, Resultat
ActiveCell.Value = Resultat
ActiveCell.Replace What:=".", Replacement:=","
ActiveCell.TextToColumns , DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, Semicolon:=True
If ActiveCell.Row = 65536 Then
ActiveWorkbook.Sheets.Add
Else
ActiveCell.Offset(1, 0).Select
End If
Compteur = Compteur + 1
Loop
Close
If ActiveCell.Offset(-1, 2).Value = 8 Then
ActiveCell.Offset(-1, 2).Value = 9
End If
If ActiveCell.Offset(-1, 2).Value = 4 Then
Range(ActiveCell.Offset(-1, 0), ActiveCell.Offset(-1, 4)).Copy
ActiveCell.Insert Shift:=xlShiftDown
Application.CutCopyMode = False
ActiveCell.Offset(0, 2) = 9
ActiveCell.Offset(1).Activate
End If
Next
End If
Application.ScreenUpdating = True
End Sub
A+
kjin
 
- 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

Discussions similaires

D
  • Question Question
2
Réponses
28
Affichages
2 K
Deleted member 441486
D
Retour