Importation de données depuis 2 fichiers Notepad

iguan

XLDnaute Nouveau
Bonjour,

Je souhaite pouvoir faire par macro (type bouton) l'extraction de fichier 2 fichier Notepad.

J'ai mis un exemple type en PJ.

L'architecture est la suivante :
Licenses Win contient les colonnes A, B et C
Licenses Tata contient les colonnes A, D et E
Les colonnes des fichiers notepad sont séparés par le caractère "Tabulation"
Les fichiers textes sont dans des dossiers différents

Dans les fichiers notepad les données comportant le caractère " ' " ne sont présentes que pour l'exemple.

Dans le fichier Excel je doit pouvoir retrouver les informations combinées des 2 fichiers notepad.

Je ne connais que très peu VBA et ses fonctions,

Merci d'avance
 

Pièces jointes

  • Notepad-Excel.zip
    7.1 KB · Affichages: 19

Staple1600

XLDnaute Barbatruc
Re : Importation de données depuis 2 fichiers Notepad

Bonsoir à tous

Est-ce que cette macro se rapproche du résultat souhaité ?
Code:
Sub Test_Import_Deux_Fichiers_TXT()
Dim FichierTXT$, dl&
FichierTXT = Application.GetOpenFilename("Fichier (*.TXT), *.txt")
Workbooks.OpenText FichierTXT, startrow:=2, Tab:=True, Local:=True
With ThisWorkbook.Sheets(1)
dl = .Cells(Rows.Count, 1).End(xlUp).Row + 1
ActiveWorkbook.Sheets(1).Range("A1").CurrentRegion.Copy .Cells(dl, 1)
End With
ActiveWorkbook.Close False
FichierTXT = Application.GetOpenFilename("Fichier (*.TXT), *.txt")
Workbooks.OpenText FichierTXT, startrow:=2, Tab:=True, Local:=True
With ThisWorkbook.Sheets(1)
dl = .Cells(Rows.Count, 1).End(xlUp).Row + 1
ActiveWorkbook.Sheets(1).Range("A1").CurrentRegion.Copy .Cells(dl, 1)
End With
ActiveWorkbook.Close False
End Sub
 

iguan

XLDnaute Nouveau
Re : Importation de données depuis 2 fichiers Notepad

Bonjour Staple1600,

Merci pour le code, il se rapproche de ce que je souhaite.

Le seul défaut que je vois, c'est qu'il duplique les données sans les ordonnées.
Lorsque la référence du fichier Win concorde avec la référence du fichier Tata (de mon exemple) il faudrait ajouter les données en colonne. Dans ton code il me crée une nouvelle ligne avec 2 références identique et mes colonnes D et E sont vides.

Je te laisse voir ce que tu peux faire, mais par simple curiosité la solution serait-elle de passer par une feuille "caché" puis trier ces données ?

Autre point, Si je relance la macro une nouvelle fois. Il ajoute les données à la suite. J'aimerais copier uniquement les données de mes fichiers texte non présente dans le tableur excel.

Cordialement,
 

iguan

XLDnaute Nouveau
Re : Importation de données depuis 2 fichiers Notepad

J'ai continuer le code de Staple1600 en intégrant mon idées de prendre la feuille 1 en brouillon.

Code:
If InStr(ActiveWorkbook.Sheets(1).Cells(i, 2), "-") = 0 Then
                                                                                ActiveWorkbook.Sheets(1).Range("B & i:C & i").Copy
                                                                                ActiveWorkbook.Sheets(2).Range("B & j").Paste
                                                                                Else: ActiveWorkbook.Sheets(1).Range("B & i:C & i").Copy
                                                                                       ActiveWorkbook.Sheets(2).Range("D & j").Paste
 End If

J'ai juste des soucis avec cette partie,
Je voudrais faire :
Si (non-présence du charactère "-") Alors
Copier les cellules Bi et Ci (feuille 1) et coller dans cellule Bj et Cj (feuille 2)
Sinon copier les cellules Bi et Ci (feuille 1) et coller dans cellule Dj et Ej (feuille 2)
Fin Si

Cette partie du code est présente dans une double boucle (incrément i & j) pour balayer mes feuilles 1 et 2.

Merci d'avance,
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 086
Messages
2 085 197
Membres
102 814
dernier inscrit
JLGalley