OVH Cloud OVH Cloud

Ajouter (auto) des txt dans un classeur

6 réponses
Avatar
b75
Office 2002

Bonjour,

Les logiciels g=E9n=E8rent des rapports en .txt Apr=E8s=20
r=E9cup=E9ration dans Excel il faut les modifier puis les=20
int=E9grer =E0 un fichier g=E9n=E9ral (de tous les fichiers txt=20
du logiciel).

Il y a une fonction =AB enregistrement de macro =BB qui=20
permet de reproduire les m=EAmes manipulations mais =E7a ne=20
semble pas fonctionner. Pouvez-vous m'aider =E0 utiliser=20
cette fonction (qui semble la plus appropri=E9e).

Si c'est possible de fusionner avec le fichier g=E9n=E9ral=20
sans VBA ( je suis ignorant en VBA).

Merci de commencer par le plus m=EAme si c'est pas le plus=20
automatique.

B75=20

6 réponses

Avatar
michdenis
Bonjour B75,

Sans VBA, tu ouvres à tour de rôle tes fichiers et par un copier-coller ... tu fais cheminer tes données où elles se
doivent


Salutations!



"b75" a écrit dans le message de news:2098f01c4595d$dc676250$
Office 2002

Bonjour,

Les logiciels génèrent des rapports en .txt Après
récupération dans Excel il faut les modifier puis les
intégrer à un fichier général (de tous les fichiers txt
du logiciel).

Il y a une fonction « enregistrement de macro » qui
permet de reproduire les mêmes manipulations mais ça ne
semble pas fonctionner. Pouvez-vous m'aider à utiliser
cette fonction (qui semble la plus appropriée).

Si c'est possible de fusionner avec le fichier général
sans VBA ( je suis ignorant en VBA).

Merci de commencer par le plus même si c'est pas le plus
automatique.

B75
Avatar
b75
Merci, C'est la méthode utilisée pour l'instant.

Est-ce que c'est possible d'essayer de guider un nul en
VBA pour réaliser ces opérations ?
B75

-----Message d'origine-----
Bonjour B75,

Sans VBA, tu ouvres à tour de rôle tes fichiers et par
un copier-coller ... tu fais cheminer tes données où

elles se
doivent


Salutations!



"b75" a écrit dans
le message de news:2098f01c4595d$dc676250

$
Office 2002

Bonjour,

Les logiciels génèrent des rapports en .txt Après
récupération dans Excel il faut les modifier puis les
intégrer à un fichier général (de tous les fichiers txt
du logiciel).

Il y a une fonction « enregistrement de macro » qui
permet de reproduire les mêmes manipulations mais ça ne
semble pas fonctionner. Pouvez-vous m'aider à utiliser
cette fonction (qui semble la plus appropriée).

Si c'est possible de fusionner avec le fichier général
sans VBA ( je suis ignorant en VBA).

Merci de commencer par le plus même si c'est pas le plus
automatique.

B75


.



Avatar
b75
Merci, C'est la méthode utilisée pour l'instant.

Est-ce que c'est possible d'essayer de guider un nul en
VBA pour réaliser ces opérations ?
B75

-----Message d'origine-----
Bonjour B75,

Sans VBA, tu ouvres à tour de rôle tes fichiers et par
un copier-coller ... tu fais cheminer tes données où

elles se
doivent


Salutations!



"b75" a écrit dans
le message de news:2098f01c4595d$dc676250

$
Office 2002

Bonjour,

Les logiciels génèrent des rapports en .txt Après
récupération dans Excel il faut les modifier puis les
intégrer à un fichier général (de tous les fichiers txt
du logiciel).

Il y a une fonction « enregistrement de macro » qui
permet de reproduire les mêmes manipulations mais ça ne
semble pas fonctionner. Pouvez-vous m'aider à utiliser
cette fonction (qui semble la plus appropriée).

Si c'est possible de fusionner avec le fichier général
sans VBA ( je suis ignorant en VBA).

Merci de commencer par le plus même si c'est pas le plus
automatique.

B75


.



Avatar
michdenis
Bonjour 75,

Ta question est beaucoup trop générale pour pouvoir débuter une macro.

Les macros demandent des actions précises sur des feuilles particulières, sur des plages de cellules concernées ... et
pour ce faire ...il faut savoir avec précision ce que tu veux réellement faire !


Salutations!



"b75" a écrit dans le message de news:20def01c45967$6d45a1c0$
Merci, C'est la méthode utilisée pour l'instant.

Est-ce que c'est possible d'essayer de guider un nul en
VBA pour réaliser ces opérations ?
B75

-----Message d'origine-----
Bonjour B75,

Sans VBA, tu ouvres à tour de rôle tes fichiers et par
un copier-coller ... tu fais cheminer tes données où

elles se
doivent


Salutations!



"b75" a écrit dans
le message de news:2098f01c4595d$dc676250

$
Office 2002

Bonjour,

Les logiciels génèrent des rapports en .txt Après
récupération dans Excel il faut les modifier puis les
intégrer à un fichier général (de tous les fichiers txt
du logiciel).

Il y a une fonction « enregistrement de macro » qui
permet de reproduire les mêmes manipulations mais ça ne
semble pas fonctionner. Pouvez-vous m'aider à utiliser
cette fonction (qui semble la plus appropriée).

Si c'est possible de fusionner avec le fichier général
sans VBA ( je suis ignorant en VBA).

Merci de commencer par le plus même si c'est pas le plus
automatique.

B75


.



Avatar
b75
Dans mon exemple : j'ai une feuille (récupération d'un
fichier texte de rapport d'un logiciel) 12 colonnes et un
nombre de ligne variable (suivant le fichier texte
récupéré).

J'ai à chaque fois un nouveau classeur est donc créé avec
toujours le même format pour les colonnes (pas le nombre
de ligne). D'autre part il y a un classeur « suivit »
dans lequel les lignes des nouveaux classeurs doivent
s'ajouter pour le compléter.

Pour être plus concret : prenons l'exemple de
l'exportation des rapports en txt de l'antivirus, du
firewall, etc. qu'il faudrait cumuler dans un classeur
unique pour avoir un suivit dans le temps.

Salutations
B75

-----Message d'origine-----
Bonjour 75,

Ta question est beaucoup trop générale pour pouvoir
débuter une macro.


Les macros demandent des actions précises sur des
feuilles particulières, sur des plages de cellules

concernées ... et
pour ce faire ...il faut savoir avec précision ce que tu
veux réellement faire !



Salutations!



"b75" a écrit dans
le message de news:20def01c45967$6d45a1c0

$
Merci, C'est la méthode utilisée pour l'instant.

Est-ce que c'est possible d'essayer de guider un nul en
VBA pour réaliser ces opérations ?
B75

-----Message d'origine-----
Bonjour B75,

Sans VBA, tu ouvres à tour de rôle tes fichiers et par
un copier-coller ... tu fais cheminer tes données où

elles se
doivent


Salutations!



"b75" a écrit dans
le message de news:2098f01c4595d$dc676250

$
Office 2002

Bonjour,

Les logiciels génèrent des rapports en .txt Après
récupération dans Excel il faut les modifier puis les
intégrer à un fichier général (de tous les fichiers txt
du logiciel).

Il y a une fonction « enregistrement de macro » qui
permet de reproduire les mêmes manipulations mais ça ne
semble pas fonctionner. Pouvez-vous m'aider à utiliser
cette fonction (qui semble la plus appropriée).

Si c'est possible de fusionner avec le fichier général
sans VBA ( je suis ignorant en VBA).

Merci de commencer par le plus même si c'est pas le plus
automatique.

B75


.




.




Avatar
michdenis
Bonjour B75,

Voici une procédure que tu dois copier dans un module standard dans le fichier servant "Rapport Général".

Tu dois ajouter à ton projet, Fenêtre VBE(visual Basic editor) Raccourci claivier Alt +F11
à partir de la barre des menus / outils / référence / et dans la liste proposée tu coches :
"Microsoft activex data objects 2.0 librairy"

Pour ajouter le module standard : Barre des menus / insertion / module

et tu copies ce qui suit là :

Cette procédure suppose que tous tes fichiers sont dans le même répertoire, que la feuille contenant les données dans
chaque fichier porte le même nom.

Tu dois définir dans la procédure, ces 2 variables :
NomFeuille = "denis" 'Nom de la feuille où les données sont confinées
Chemin = "C:Data" 'Répertoire où sont tes données.

Si la feuille où tu dois faire le sommaire des informations est différent de "Feuil1",
tu dois modifier cette ligne de code : With Worksheets("Feuil1")


'-----------------------------------------------
Sub MaRequêteAvecADO()

'Extrait les données de plusieurs classeurs d'un même
'répertoire en prenant pour acquis que les données ont
'la même structure et sont placées sur la même feuille.

Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, NomFeuille As String, Rg As Range
Dim file As String, C As Integer
Dim Chemin As String

NomFeuille = "denis" 'A déterminer
Chemin = "C:Data" 'à déterminer

'La requête qui sera exécutée ' `a déterminer
Requete = "SELECT * From [" & NomFeuille & "$]"

'Récupérer dans un tableau, la liste des
'fichiers excel du répertoire.

file = Dir(Chemin & "*.xls")
If file <> ThisWorkbook.Name Then
Do While file <> ""
'Définir la première cellule où seront copiées les
'données des requêtes ADO
'Feuille où sera copiée les données
With Worksheets("Feuil1")
If .Range("A1") = "" Then
Set Rg = .Range("A1")
Else
Set Rg = .Range("A" & .Range("A65356").End(xlUp).Row)(2)
End If
End With

'établir la connection avec le fichier...
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & file & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""

Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic

'Copie les étiquettes du recordset vers Excel
'La variable Ok sert à déterminer si les étiquettes sont déjà là.
If Rg.Row = 1 Then
Do
Rg.Offset(, C) = Rst.Fields(C).Name
C = C + 1
x = x + 1
Loop Until x = Rst.Fields.Count
Rg.Offset(1).CopyFromRecordset Rst
Else
Rg.CopyFromRecordset Rst
End If
file = Dir()
Rst.Close: Conn.Close
End If
Loop
Rg.CurrentRegion.EntireColumn.AutoFit
Set Rst = Nothing: Set Conn = Nothing
Set Rg = Nothing
End Sub
'-----------------------------------------------


Salutations!









"b75" a écrit dans le message de news:20e2f01c4596d$8d231350$
Dans mon exemple : j'ai une feuille (récupération d'un
fichier texte de rapport d'un logiciel) 12 colonnes et un
nombre de ligne variable (suivant le fichier texte
récupéré).

J'ai à chaque fois un nouveau classeur est donc créé avec
toujours le même format pour les colonnes (pas le nombre
de ligne). D'autre part il y a un classeur « suivit »
dans lequel les lignes des nouveaux classeurs doivent
s'ajouter pour le compléter.

Pour être plus concret : prenons l'exemple de
l'exportation des rapports en txt de l'antivirus, du
firewall, etc. qu'il faudrait cumuler dans un classeur
unique pour avoir un suivit dans le temps.

Salutations
B75

-----Message d'origine-----
Bonjour 75,

Ta question est beaucoup trop générale pour pouvoir
débuter une macro.


Les macros demandent des actions précises sur des
feuilles particulières, sur des plages de cellules

concernées ... et
pour ce faire ...il faut savoir avec précision ce que tu
veux réellement faire !



Salutations!



"b75" a écrit dans
le message de news:20def01c45967$6d45a1c0

$
Merci, C'est la méthode utilisée pour l'instant.

Est-ce que c'est possible d'essayer de guider un nul en
VBA pour réaliser ces opérations ?
B75

-----Message d'origine-----
Bonjour B75,

Sans VBA, tu ouvres à tour de rôle tes fichiers et par
un copier-coller ... tu fais cheminer tes données où

elles se
doivent


Salutations!



"b75" a écrit dans
le message de news:2098f01c4595d$dc676250

$
Office 2002

Bonjour,

Les logiciels génèrent des rapports en .txt Après
récupération dans Excel il faut les modifier puis les
intégrer à un fichier général (de tous les fichiers txt
du logiciel).

Il y a une fonction « enregistrement de macro » qui
permet de reproduire les mêmes manipulations mais ça ne
semble pas fonctionner. Pouvez-vous m'aider à utiliser
cette fonction (qui semble la plus appropriée).

Si c'est possible de fusionner avec le fichier général
sans VBA ( je suis ignorant en VBA).

Merci de commencer par le plus même si c'est pas le plus
automatique.

B75


.




.