Bonjour à tous,

Je suis actuellement en stage de fin d'études, je suis novice en VBA mais plus que désireux de persévérer et d’acquérir de nouvelles compétences dans ce domaine.

Mon problème : Je dois analyser plusieurs données d’usinages issus de fichiers textes.

Chaque jour, j’ai un usinage à analyser soit 92 fichiers textes (de qques Mo jusqu'à 100Mo). Mais d’ici la fin du mois de Mai, je vais avoir 9*92 fichiers par jour à analyser car j’ai bien avancé dans mon travail (déjà que pour un usinage c’est assez fastidieux, alors pour 9 fois plus, j’essaie de trouver une automatisation pour mes manipulations...)

Pour chaque fichier .txt, j’effectue qques modifications via des macros que j’ai développées pour calculer automatiquement diverses données. J’enregistre le fichier sous le format .xlsm, sous le même nom (extension différente bien sûr) et sous le même répertoire.

Pour une de mes macro, j'ai besoin de transformer un groupe de cellules en un tableau. Mon problème est que le nombre de lignes et le nombre de colonnes varient pour chaque fichier. J'ai réussi à calculer la dernière ligne du tableau pour chaque fichier. Mais pour la dernière colonne je n'ai pas réussi ; malgré une longue prise de tête ...
Pour contourner le problème, j'ai repéré le maximum et l'ai inséré dans mon code (colonne "CFP") . Bien entendu ce code n'est pas optimisé et lors de l’enregistrement, cela augmente la taille de mes fichiers, pour au final pas grand chose.

Voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub MacroTestTableau()
'
' MacroTestTableau Macro
'
' Touche de raccourci du clavier: Ctrl+b
'
'derniere ligne cellule non vide
Dim derlig As Long
derlig = Range("A" & Rows.Count).End(xlUp).Row
 
    Range("A6").Select
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$6:CFP" & derlig), , xlYes).Name _
        = "Tableau1"
    Range("Tableau1[#All]").Select
    ActiveSheet.ListObjects("Tableau1").TableStyle = "TableStyleLight1"
    ActiveWindow.SmallScroll Down:=-21
End Sub


Pourriez vous je vous prie m'éclairer quant à propos de mon soucis. J'ai essayé d'insérer deux variables dans la fonction Range, mais sans succès.

Je vous remercie par avance de l'attention que vous porterez à mon post.

Bonne fin de (long) w-e à tous.

Guillaume

P.S : Je peux transmettre des exemples de fichiers textes bruts si vous le désirez.