Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/10/2011, 09h39   #1
Membre régulier
 
Homme Vincent Vincent
Inscription : octobre 2010
Messages : 242
Détails du profil
Informations personnelles :
Nom : Homme Vincent Vincent
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2010
Messages : 242
Points : 80
Points : 80
Par défaut Ecriture de fichiers textes

Bonjour à tous,

des macros déjà en place dans mon classeur excel me permettent de récupérer plusieurs fichiers textes, de réaliser différents calculs (soustraction de colonne, soustraction de ligne et dérivée première).

Je souhaiterai ensuite récupérer dans un dossier "retraitement" récupérer chaque feuille de de calculs de la manière suivante (MAJUSCULE NOM DE DOSSIER, minuscule nom de fichier) :

-RETRAITEMENT

-SOUSTRACTION
-soustraction fichier 1.txt = (feuille 2 colonne A et colonne B de la première ligne jusqu'à la première ligne vide)
-soustraction fichier 2.txt = (feuille 2 colonne A et colonne C de la première ligne jusqu'à la première ligne vide)
-soustraction fichier ....txt = (feuille 2 colonne A et colonne ... de la première ligne jusqu'à la première ligne vide)
et ce jusqu'à la première colonne vide

-NORMALISATION
-normalisation fichier 1.txt = (feuille 3 colonne A et colonne B de la première ligne jusqu'à la première ligne vide)
-normalisation fichier 2.txt = (feuille 3 colonne A et colonne C de la première ligne jusqu'à la première ligne vide)
-normalisation fichier ....txt = (feuille 3 colonne A et colonne ... de la première ligne jusqu'à la première ligne vide)
et ce jusqu'à la première colonne vide

-DERIVEE
-Dérivée fichier 1.txt = (feuille 4 colonne A et colonne B de la première ligne+1 jusqu'à la première ligne vide-1)
-Dérivée fichier 2.txt = (feuille 4 colonne A et colonne C de la première ligne+1 jusqu'à la première ligne vide-1)
-Dérivée fichier ....txt = (feuille 4 colonne A et colonne ... de la première ligne+1 jusqu'à la première ligne vide-1)
et ce jusqu'à la première colonne vide

Je n'ai aucune idée de la manière dont je dois m'y prendre merci beaucoup pour votre aide

Cordialement

Vincent
Vincent32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 11h06   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

J'ai fait le boulot pour la soustraction, car je n'ai aucune idée pour calculer une normalisation ou une dérivée. Il te suffira de recopier le bloc de lignes compris entre :
et
et de mettre le bon calcul :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub test()
Dim Plage As Range, c As Range, Ligne As Long, NbCol As Integer
Dim Chemin As String, i As Long
Application.ScreenUpdating = False
Sheets.Add.Name = "Temp"
With Sheets("Feuil2")
    'soustraction
    NbCol = .Cells(1, Columns.Count).End(xlToLeft).Column
    Set Plage = .Range(.[A1], .Cells(Rows.Count, 1).End(xlUp)) 'A2 si entête en A1
    Chemin = "c:\temp\soustraction\"
    For i = 1 To NbCol
        Ligne = 0
        For Each c In Plage
            Ligne = Ligne + 1
            Cells(Ligne, 1) = c.Value - c.Offset(, i).Value
        Next c
        ActiveSheet.Copy
        ActiveWorkbook.SaveAs Chemin & "soustraction fichier " & i & ".txt", xlTextWindows
        ActiveWorkbook.Close False
    Next i
    'fin soustraction
    End With
Application.ScreenUpdating = True
End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 11h49   #3
Membre régulier
 
Homme Vincent Vincent
Inscription : octobre 2010
Messages : 242
Détails du profil
Informations personnelles :
Nom : Homme Vincent Vincent
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2010
Messages : 242
Points : 80
Points : 80
En fait j'ai déjà des macros pour les différentes étapes :

Importation des données :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Sub Import()
Dim Fso As Object
Dim FsoRepertoire As Object
Dim FsoFichier As Object
Dim i As Long
Dim c As Integer
Dim strLigne As String
 
Dim str() As String
 
Set Fso = CreateObject("Scripting.FileSystemObject")
Set FsoRepertoire = Fso.GetFolder(Sheets("Macro").Range("E9").Value) 'nom du répertoire
 
 
 
'Boucle sur fichiers du repertoire
c = 2
For Each FsoFichier In FsoRepertoire.Files
    i = 1
    'Vérifie si le fichier a l'extension souhaité
    str = Split(FsoFichier.Name, ".")
    If str(UBound(str)) = "dpt" Then
        'ouvre le fichier
        Open FsoFichier.Path For Input As #1
        'Boucle sur chaque ligne du fichier
        Do While Not EOF(1)
            Line Input #1, strLigne
            str = Split(strLigne, "    ")
            'insere la ligne dans la cellule
            Sheets("Données brutes").Cells(i, c).Value = Split(strLigne, Chr(9))(1)
            '(1) Pour la seconde colonne du fichier texte
            '(0) Pour la Première colonne du fichier texte
            i = i + 1
        Loop
        Close #1
        c = c + 1
    End If
 
Next
 
Call Copie
 
 
 
End Sub
Traitement mathématique des données

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Option Explicit
Sub Copie()
 
Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet, ws4 As Worksheet
Const PremL1 = 1 'Première ligne de données dans la feuille 1
Const PremC1 = 1 'Première colonne de données dans la feuille 1
Dim DerL1 As Long 'Dernière ligne de données dans la feuille 1
Dim DerC1 As Long 'Dernière colonne de données dans la feuille 1
Dim Col As Long
Dim Lig As Long
Dim Lign As Long
 
Set ws1 = Worksheets("Données brutes") 'L'objet Feuille 1 est attribué à la variable ws1
Set ws2 = Worksheets("Soustraction") 'L'objet Feuille 2 est attribué à la variable ws2
Set ws3 = Worksheets("Normalisation") 'L'objet Feuille 3 est attribué à la variable ws3
Set ws4 = Worksheets("Dérivée")
 
'Recherche de la dernière ligne renseignée dans la colonne A de la feuille 1
DerL1 = ws1.Range("A" & ws1.Rows.Count).End(xlUp).Row
'Recherche de la dernière colonne renseignée dans la ligne 1 de la feuille 1
DerC1 = ws1.Cells(1, ws1.Columns.Count).End(xlToLeft).Column
 
'Recopie de la colonne A de la feuille 1 dans les feuilles 2 et 3
ws1.Range("A:A").Copy ws2.Range("A:A")
ws1.Range("A:A").Copy ws3.Range("A:A")
ws1.Range("A:A").Copy ws4.Range("A:A")
 
'soustraire la colonne B de la feuille 1 à toutes les autres colonnes pour renseigner la feuille 2
For Col = PremC1 To DerC1 - 2
    For Lig = PremL1 To DerL1
        ws2.Cells(Lig, Col).Offset(0, 1) = ws1.Cells(Lig, Col).Offset(0, 2) - ws1.Cells(Lig, PremC1 + 1)
    Next Lig
Next Col
 
'soustraire la ligne 1090 de la feuille 2 à toutes les autres lignes pour renseigner la feuille 3
For Col = PremC1 To DerC1 - 2
    For Lig = PremL1 To DerL1
        ws3.Cells(Lig, Col + 1) = ws2.Cells(Lig, Col + 1) - ws2.Cells(1090, Col + 1)
    Next Lig
Next Col
 
'dérivée première de la feuille 3 pour renseigner la feuille 4
For Col = PremC1 To DerC1 - 2
    For Lig = PremL1 + 1 To DerL1 - 1
        ws4.Cells(Lig, Col + 1) = (ws3.Cells(Lig + 1, Col + 1) - ws3.Cells(Lig - 1, Col + 1)) / (ws3.Cells(Lig + 1, 1) - ws3.Cells(Lig - 1, 1))
    Next Lig
Next Col
 
'Libère les ressources
Set ws1 = Nothing
Set ws2 = Nothing
Set ws3 = Nothing
Set ws4 = Nothing
 
End Sub
Il ne me manque "que" la partie sauvegarde

En tout cas merci pour ta réponse
Vincent32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 12h31   #4
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Un peu au hasard, j'ai modifié la partie soustraction comme suit. Dis-moi si ça convient :

Code :
1
2
3
4
5
6
7
8
9
'soustraire la colonne B de la feuille 1 à toutes les autres colonnes pour renseigner la feuille 2
For Col = PremC1 To DerC1 - 2
    For Lig = PremL1 To DerL1
        ws2.Cells(Lig, Col).Offset(0, 1) = ws1.Cells(Lig, Col).Offset(0, 2) - ws1.Cells(Lig, PremC1 + 1)
    Next Lig
        ws2.Copy
        ActiveWorkbook.SaveAs "c:\temp\soustraction\soustraction fichier " & Col & ".txt", xlTextWindows
        ActiveWorkbook.Close False
Next Col
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 12h59   #5
Membre régulier
 
Homme Vincent Vincent
Inscription : octobre 2010
Messages : 242
Détails du profil
Informations personnelles :
Nom : Homme Vincent Vincent
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2010
Messages : 242
Points : 80
Points : 80
Merci Daniel,

(Je me permets de te tutoyer)
Je vais regarder ce que ça donne.

Par contre pourrais tu me décrire ta fonction (son fonctionnement (c'est à dire comment lui dire de prendre plusieurs colonnes : la colonne A et la colonne en cours séparées par une tabulation)

En attendant je teste ton code

Encore merci pour ta réponse et ton aide

Cordialement

Bon le principe semble fonctionner.

Je m'explique :


La macro crée bien les fichiers .txt dans le répertoire désiré, elle crée autant de fichier que j'ai de colonnes cependant il m'insère dans chaque fichier texte :

-La colonne A (c'est normal c'est ce que je veux)

-La colonne en cours (c'est cool c'est ce que je veux aussi)

-Toutes les autres colonnes déjà traitées (par exemple le fichier 5 comporte la colonne A, B, C, D, E, F ; alors que je ne veux que la colonne A et F)

De plus le chemin du fichier où sont sauvegardés les fichiers txt est indiqué directement dans la macro, comment faire pour dire à la macro de récupérer le chemin dans la cellule A1 de la feuille 1 ?

Une idée dans l'adaptation du code ?
Vincent32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 13h55   #6
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Essaie comme ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
'soustraire la colonne B de la feuille 1 à toutes les autres colonnes pour renseigner la feuille 2
For Col = PremC1 To DerC1 - 2
    For Lig = PremL1 To DerL1
        ws2.Cells(Lig, Col).Offset(0, 1) = ws1.Cells(Lig, Col).Offset(0, 2) - ws1.Cells(Lig, PremC1 + 1)
    Next Lig
        Sheets.Copy
        Cells.Clear
        ws2.[A:B].Copy [A1]
        ActiveWorkbook.SaveAs ws2.[A1] & "\soustraction fichier " & Col & ".txt", xlTextWindows
        ActiveWorkbook.Close False
Next Col
Au fait, oui, pour le tutoiement, il est largement majoritaire sur les forums, et machinal chez moi. Sauf si on me répond en me vousoyant.

J'ai commenté le code comme tu l'as demandé :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
'soustraire la colonne B de la feuille 1 à toutes les autres colonnes pour renseigner la feuille 2
For Col = PremC1 To DerC1 - 2
    For Lig = PremL1 To DerL1
        ws2.Cells(Lig, Col).Offset(0, 1) = ws1.Cells(Lig, Col).Offset(0, 2) - ws1.Cells(Lig, PremC1 + 1)
    Next Lig
        'copie de la feuille ws2 dans un nouveau classeur
        Sheets.Copy
        'effacement de la feuille
        Cells.Clear
        'copie des colonnes A et B dans le nouveau classeur
        ws2.[A:B].Copy [A1]
        'enregistrement au format texte
        ActiveWorkbook.SaveAs ws2.[A1] & "\soustraction fichier " & Col & ".txt", xlTextWindows
        'fermeture du classeur texte
        ActiveWorkbook.Close False
Next Col
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 14h21   #7
Membre régulier
 
Homme Vincent Vincent
Inscription : octobre 2010
Messages : 242
Détails du profil
Informations personnelles :
Nom : Homme Vincent Vincent
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2010
Messages : 242
Points : 80
Points : 80
Merci beaucoup pour ton aide.

Alors j'ai très légèrement modifier ton code afin que ça fit avec mes données :

Code :
1
2
3
4
5
6
7
8
9
10
'soustraire la colonne B de la feuille 1 à toutes les autres colonnes pour renseigner la feuille 2
For Col = PremC1 To DerC1 - 2
    For Lig = PremL1 To DerL1
        ws2.Cells(Lig, Col).Offset(0, 1) = ws1.Cells(Lig, Col).Offset(0, 2) - ws1.Cells(Lig, PremC1 + 1)
    Next Lig
   Sheets.Copy
        ws2.[A:B].Copy [A1]
        ActiveWorkbook.SaveAs (Sheets("Macro").Range("E12").Value) & Col & ".dpt", xlTextWindows
        ActiveWorkbook.Close False
Next Col
On y est presque (énorme merci à Daniel)
Cependant un problème survient lors de l'enregistrement des fichiers :


Il me sauvegarde dans le fichier txt les données de ma feuille qui me sert à lancer ma macro en plus des colonnes que je souhaite sauvegarder pourquoi (voir image pour mieux comprendre le problème ?


Un autre problème il me sauve bien plusieurs fichiers mais ils sont tous identiques (c'est tout le temps la colonne A et la colonne B alors que je voudrais que le premier fichier soit la colonne A et la colonne B, le deuxième fichier A et C, le troisième fichier A et D et ainsi de suite ...
Images attachées
Type de fichier : png extrait fichier txt.png (20,1 Ko, 2 affichages)
Vincent32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 14h43   #8
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
C'est sans doute explicable, cette histoire de données indésirables. J'ai posté mon code puis je l'ai modifié mais tu l'as récupéré avant modification. Je n'avais pas capté cette histoire de colonnes. Essasie :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
For Col = PremC1 To DerC1 - 2
    For Lig = PremL1 To DerL1
        ws2.Cells(Lig, Col).Offset(0, 1) = ws1.Cells(Lig, Col).Offset(0, 2) - ws1.Cells(Lig, PremC1 + 1)
    Next Lig
        'ajout d'un classeur avec 1 feuille
 
        Workbooks.Add 1
        'copie des colonnes qui vont bien dans le nouveau classeur
        ws2.[A:A].Copy [A1]
        ws2.Cells(1, Col).Offset(0, 1).EntireColumn.Copy [B1]
        'enregistrement au format texte
        ActiveWorkbook.SaveAs ws2.[A1] & "\soustraction fichier " & Col & ".txt", xlTextWindows
        'fermeture du classeur texte
        ActiveWorkbook.Close False
Next Col
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 15h25   #9
Membre régulier
 
Homme Vincent Vincent
Inscription : octobre 2010
Messages : 242
Détails du profil
Informations personnelles :
Nom : Homme Vincent Vincent
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2010
Messages : 242
Points : 80
Points : 80
Une question sur la ligne de code suivante :

Code :
ActiveWorkbook.SaveAs ws2.[A1] & "\soustraction fichier " & Col & ".txt", xlTextWindows
Que signifie ws2.[A1], si c'est le chemin du fichier puis je remplacer uniquement cette partie par :

Sheets("Macro").Range("E12").Value)

Car lorsque j'effectue le remplacement en cours de route j'ai le bog :

Erreur d'exécution "9": L'indice n'appartient pas à la sélection

et la ligne de code

Code :
    ActiveWorkbook.SaveAs (Sheets("Macro").Range("E12").Value) & Col & ".dpt", xlTextWindows
est en jaune
Je ne vois pas ce qui ne va pas !

En fait j'ai modifié le code de la manière suivante et cela fonctionne

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
'soustraire la colonne B de la feuille 1 à toutes les autres colonnes pour renseigner la feuille 2
For Col = PremC1 To DerC1 - 2
    For Lig = PremL1 To DerL1
        ws2.Cells(Lig, Col).Offset(0, 1) = ws1.Cells(Lig, Col).Offset(0, 2) - ws1.Cells(Lig, PremC1 + 1)
    Next Lig
    'ajout d'un classeur avec 1 feuille
 
        Workbooks.Add 1
        'copie des colonnes qui vont bien dans le nouveau classeur
        ws2.[A:A].Copy [A1]
        ws2.Cells(1, Col).Offset(0, 1).EntireColumn.Copy [B1]
        'enregistrement au format texte
        'ActiveWorkbook.SaveAs (Sheets("Macro").Range("E12").Value) & Col & ".dpt", xlTextWindows
        ActiveWorkbook.SaveAs ws0.[E12] & Col & ".dpt", xlTextWindows
        'fermeture du classeur texte
        ActiveWorkbook.Close False
 
Next Col
Encore merci Daniel

Bon après midi

Cordialement

Vincent
Vincent32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 15h30   #10
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Ecris-le comme ceci :

Code :
ActiveWorkbook.SaveAs Sheets("Macro").Range("E12").Value & Col & ".dpt", xlTextWindows
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 19h44   #11
Membre régulier
 
Homme Vincent Vincent
Inscription : octobre 2010
Messages : 242
Détails du profil
Informations personnelles :
Nom : Homme Vincent Vincent
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2010
Messages : 242
Points : 80
Points : 80
Cette solution ne fonctionne pas mais celle proposée précédemment marche du tonerre !

Code :
ActiveWorkbook.SaveAs ws0.[E12] & Col & ".dpt", xlTextWindows
Encore merci Daniel !

Cordialement

Vincent

En admettant qu'au lieu d'enregistrer en . txt, je souhaite sauvegarder en .csv chaque fichier comment dois je adapter mon texte.

(J'ai observé que si je me contentais de mettre .csv au lieu de .txt les colonnes A et B de ma feuille active se retrouvaient dans la colonne A du fichier csv les deux données étant séparées par une tabulation.
Vincent32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 20h04   #12
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Mets "xlCSV" au lieu de "xlTextWindows" dans la ligne "saveas :

Code :
ActiveWorkbook.SaveAs ws0.[E12] & Col & ".dpt", xlCSV
Maintenant, regarde les séparateurs que tu obtiens est-ce des "," ou des ";" ?
Et est-ce ce qui te convient ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 20h07   #13
Membre régulier
 
Homme Vincent Vincent
Inscription : octobre 2010
Messages : 242
Détails du profil
Informations personnelles :
Nom : Homme Vincent Vincent
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2010
Messages : 242
Points : 80
Points : 80
Je regarde ça demain matin en détails (car ma macro tourne sous excel2003 (travail) et pas sous 2010 (PC perso) en tout cas un énorme merci.

Je te souhaite une excellente soirée

Cordialement

Vincent
Vincent32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 07h23   #14
Membre régulier
 
Homme Vincent Vincent
Inscription : octobre 2010
Messages : 242
Détails du profil
Informations personnelles :
Nom : Homme Vincent Vincent
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2010
Messages : 242
Points : 80
Points : 80
Bonjour,

En fait mon CSV ne correspond pas tout à fait à ce que je désire :

Il me sauve bien la colonne A et la colonne "x" mais dans mon fichier csv ces deux colonnes sont "concaténer" dans la colonne A (la séparation est effectuée par une virgule).

Je voudrais en fait lorsque j'ouvre mon fichier.csv que les deux colonnes sauvegardées soient respectivement dans les colonnes A et B de mon fichier csv.

(Peut être n'est ce qu'une question de virgule ?)

Cordialement

Vincent
Vincent32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 10h17   #15
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,
Mets alors :

Code :
ActiveWorkbook.SaveAs ws0.[E12] & Col & ".dpt", xlCSV, Local:=True
Le paramètre "Local" permet d'utiliser le séparateur défini dans les options régionales de Windows.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 10h32   #16
Membre régulier
 
Homme Vincent Vincent
Inscription : octobre 2010
Messages : 242
Détails du profil
Informations personnelles :
Nom : Homme Vincent Vincent
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2010
Messages : 242
Points : 80
Points : 80
C'est parfait !

Merci beaucoup Daniel

Cordialement

Vincent
Vincent32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h59.


 
 
 
 
Partenaires

Hébergement Web