Problème de type [Excel VBA]

Fermé
Vorens Messages postés 41 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 12 juin 2012 - Modifié par Vorens le 25/05/2011 à 08:09
Vorens Messages postés 41 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 12 juin 2012 - 25 mai 2011 à 08:09
Bonjour,

Je dois traiter des données générées pas des machines industriel (semi automate d'assemblage). Les machine génére automatiquement un fichier text comportant des états machines. Je travail sur l'élaboration d'un interface via Excel permetant d'interpreter ces données. Chaque jours, un nouveau fichier .TXT est généré avec les état du jours inscrit en temps réel.

Je dois pouvoir choisir une périodes durant le quel à fonctionné la machine ( exemple 2 semaines) et importer tout les données concernant les deux semaines en question (1 fichier par jours et il y a environ 2000 lignes par jours également).

jusqu'à présent, pas trop de problème, je peux facilement choisir les fichiers concérner, en importanter les données etc. sauf que je peux inscrire l'équivalent d'un mois de données par feuille. je veux donc inscrire les données les une après les autres ( exemple. le 03..5.2011 => ligne 1 é 1950, puis inscrire les data du 04.04.2011 à la ligne 1951.

les données sont important dans la bonne feuille en fonction du mois. J'ai également fait une petite fonction cherchant la première ligne vide dans le tableau, mais je ne sais pas comment dire au programme que la dernière ligne vide est celle ou il doit importer les données si dessous exemple du code. (partie d'importation à pour source un enregistreu de macro.

La partie non fonctionel est là:

With ActiveSheet.QueryTables.Add(Connection:=CheminFini, Destination:=ActiveCell.Row)

Fragement du code:

'Déterminer le mois (feuille) et la ligne ou coller les données   

If Range("H6").Value = 12 Then   
        Sheets("Décembre").Activate   
        valeurA2 = Range("A2").Value   
    If valeurA2 = "" Then   
    Else   
        Range("A1").Select   
        Selection.End(xlDown).Select   
        ligne_active_base = ActiveCell.Row   
        Range("A" & ligne_active_base + 1).Select   
    End If   

End If   



       
'memorise le n° de la ligne ou coller les données.   

    ligne_active_base = ActiveCell.Row   


'Importation des données du fichier ciblé   

    With ActiveSheet.QueryTables.Add(Connection:=CheminFini, Destination:=ActiveCell.Row)   
       
        .Name = "NomFichier"   
        .FieldNames = True   
        .RowNumbers = False   
        .FillAdjacentFormulas = False   
        .PreserveFormatting = True   
        .RefreshOnFileOpen = False   
        .RefreshStyle = xlInsertDeleteCells   
        .SavePassword = False   
        .SaveData = True   
        .AdjustColumnWidth = True   
        .RefreshPeriod = 0   
        .TextFilePromptOnRefresh = False   
        .TextFilePlatform = 850   
        .TextFileStartRow = 1   
        .TextFileParseType = xlDelimited   
        .TextFileTextQualifier = xlTextQualifierDoubleQuote   
        .TextFileConsecutiveDelimiter = False   
        .TextFileTabDelimiter = True   
        .TextFileSemicolonDelimiter = False   
        .TextFileCommaDelimiter = False   
        .TextFileSpaceDelimiter = False   
        .TextFileColumnDataTypes = Array(1, 1, 1, 1)   
        .TextFileTrailingMinusNumbers = True   
        .Refresh BackgroundQuery:=False   
    End With   
       


'Passer au jours suivant_________________________________________________________________________________________________________   



'Next i   

End Sub   



Si quelqu'un a une idée qu'il n'ésite pas. Je vous remercie de l'interet que vous porter à mon problème

Vorens





A voir également:

1 réponse

Vorens Messages postés 41 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 12 juin 2012
25 mai 2011 à 08:09
Up
0