Copier une ligne entre 2 classeurs excel

azertym

XLDnaute Nouveau
Bonjour à tous.

Je rencontre 2 petits soucis et j'aimerai avoir un peu d'aide.

Je vais déjà commencer par vous expliquer le fonctionnement du projet.

Premièrement un fichier excel est généré par pro_eng au format txt.1
Ensuite il y'a 2 fichiers excel : code.xls et base.xls
Code.xls exécute une macro qui met en forme le fichier texte dans excel. Voici le code :
Code:
Function Import_Code_Temp()

Dim Fich As Worksheet
Dim Tbl
Dim Variables
Dim Ligne As String
Dim I As Integer
Dim J As Integer
Dim FichierTemp As String
 
    Set Fich = ThisWorkbook.Worksheets("Feuil1")
 
    'entêtes de colonnes
   Variables = Array("", _
                    "A créer", _
                    "Code_JDE", _
                    "Format", _
                    "Indice", _
                    "Description", _
                    "Date", _
                    "Dessinateur")
 
    Fich.Cells.ClearContents
   
    For I = 0 To UBound(Variables)
      Fich.Cells(1, I + 1) = Variables(I)
    Next I
 
    'chemin du fichier texte à lire
   FichierTemp = "C:\ptc_config\config_perso_wf2\code_temp\code_temp.txt.1"
 
    'commence à la seconde ligne pour éviter les entêtes
   J = 2
 
    'ouverture pour lecture
   Open FichierTemp For Input As #1
 
    I = 3     ' On commence à la colonne 1

    'boucle sur toutes les lignes
   Do While Not EOF(1)
 
        'lecture de la ligne
       Line Input #1, Ligne
 
        'si pas vide
       If Ligne <> "" Then
       
            'splite dans un tableau, attention, le séparateur doit être adapté !
           Tbl = Split(Ligne, ":")
 
            'inscrit la valeur en fonction de l'entête de la colonne
           Fich.Cells(J, I) = Tbl(UBound(Tbl))
           
            ' colonne suivante
           I = I + 1
        End If
 
    Loop
 
    'ferme le fichier
   Close #1
 
    'vide le tableau
   Erase Tbl
 
    
Call KillProcessus("C:\WINDOWS\SYSTEM32\CMD.EXE") 'Module 2
Call Ajout_Base 'Module 3

End Function

A la fin de cette macro, il ouvre le fichier excel base.xls pour y copier la ligne qu'il vient de formater avec ce code ci :
Code:
Function Ajout_Base()
 
'=============================================================================
'======================= Declaration des variables ===========================
'=============================================================================
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel
 
'=============================================================================
'===================== Ajout de la ligne dans Base.xls =======================
'=============================================================================
 
'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wbExcel = appExcel.Workbooks.Open("C:\ptc_config\config_perso_wf2\code_xls\base.xls")
'wsExcel correspond à la première feuille du fichier
Set wsExcel = wbExcel.Worksheets(1)
'copier la ligne 2 sur fichier code.xls
Workbooks("code.xls").Activate
'selectionne la ligne 2
Range("A2:H2").Copy
'Activation du classeur base.xls
Workbooks("base.xls").Activate
'Insertion d'une ligne à la ligne 1
Rows("2:2").Select
    Selection.Insert Shift:=xlDown
Range("A2:H2").EntireRow.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone

End Function

Le problème c'est que dans le fichier base.xls il me copie a l'infini la selection sur la deuxième ligne. Alors que si la sélection se trouve entre : A2:F2 il ne copie qu'une seule fois.

L'autre problème, c'est que je suis obligé de lancer 2 fois le code.xls pour qu'il puisse ouvrir le base.xls

Voici les chemins des différents fichiers :
Pour le fichier texte :
C:\ptc_config\config_perso_wf2\code_temp\

Pour les fichiers excel :
C:\ptc_config\config_perso_wf2\code_xls\

Merci d'avance.
 

Pièces jointes

  • code_temp.txt.zip
    325 bytes · Affichages: 19
  • base.xls
    63.5 KB · Affichages: 35
  • code.xls
    49.5 KB · Affichages: 40
  • base.xls
    63.5 KB · Affichages: 39
  • code.xls
    49.5 KB · Affichages: 42
  • base.xls
    63.5 KB · Affichages: 29
  • code.xls
    49.5 KB · Affichages: 39

Discussions similaires

Réponses
12
Affichages
247

Statistiques des forums

Discussions
312 206
Messages
2 086 223
Membres
103 159
dernier inscrit
FBallea