Psit67
Nouveau membre
Bonsoir ,
Je viens de chercher un peu d'aider afin de résoudre un problème auquel je suis actuellement confronté.
Afin de d'éviter les taches répétitives, je me suis lancer dans un petit développement VBA qui consiste à
ouvrir un fichier .csv, l'utilisateur aura le choix du fichier (format des données identique pour chaque fichier,
fonction utilisée: GetOpenfilename), importer les données de ce fichier dans un nouvelle feuille excel créée au préalable.
Mon soucis, à l'aide du code ci-dessous, est que j'obtiens une erreur 1004 lors de l'exécution du code.Quand je supprime les "=" du fichier importé
cela résout le problème et la mise en page se fait correctement. Après plusieurs essais infructueux, je lance un appel à l'aide pour me sortir de ce mauvais pas,mais connaissances étant limitées au niveau du développement Vba.
Quelles commandes à insérer dans les lignes de code pour que mon import se fasse correctement?
D'avance, merci pour votre aide...
Psit67
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
Données importées non ok
Reference;="Zone 1";="Zone 2";="Zone 3"
#Description;AAAA-BBBBBB-A-A;AAAA-BBBBB;CCCC-B-A
#Analyse;;="............";="........."
1;1234;France;;;
2;1111;Allemagne;;;
3;5555;Suisse;;;
4;888;Belgique;;;
5;36;Autriche;
6;6789;Luxembourg;
7;3456;Angleterre;
Données importées ok
Reference;Zone 1;Zone 2;Zone 3
#Description;AAAA-BBBBBB-A-A;AAAA-BBBBB;CCCC-B-A
#Analyse;;"""............""";"""........."""
1;1234;France;
2;1111;Allemagne;
3;5555;Suisse;
4;888;Belgique;
5;36;Autriche;
6;6789;Luxembourg;
7;3456;Angleterre;
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
affichage souhaité:
Référence Zone 1 Zone 2 Zone 3
Description AAAA-BBBB-A-A AAAA-BBBBB CCCC-B-A
#Analyse ......... ........
1 1234 France
2 1111 Allemagne
3 5555 Suisse
4 888 Belgique
5 36 Autriche
6 6789 Luxembourg
7 3456 Angleterre
6 6789 Luxembourg
Je viens de chercher un peu d'aider afin de résoudre un problème auquel je suis actuellement confronté.
Afin de d'éviter les taches répétitives, je me suis lancer dans un petit développement VBA qui consiste à
ouvrir un fichier .csv, l'utilisateur aura le choix du fichier (format des données identique pour chaque fichier,
fonction utilisée: GetOpenfilename), importer les données de ce fichier dans un nouvelle feuille excel créée au préalable.
Mon soucis, à l'aide du code ci-dessous, est que j'obtiens une erreur 1004 lors de l'exécution du code.Quand je supprime les "=" du fichier importé
cela résout le problème et la mise en page se fait correctement. Après plusieurs essais infructueux, je lance un appel à l'aide pour me sortir de ce mauvais pas,mais connaissances étant limitées au niveau du développement Vba.
Quelles commandes à insérer dans les lignes de code pour que mon import se fasse correctement?
D'avance, merci pour votre aide...
Psit67
Code:
----------------------------------------------------------------------------------------------
'Rechcerche Fichier .csv'
Sub OuvertureFichier()
Dim Fichier As Variant
ChDir ThisWorkbook.Path
Fichier = Application.GetOpenFilename("Files *.csv (*.csv), *.csv")
If Fichier <> False Then
Lire Fichier
Else
Call SortieSuiteAPB("Erreur Ouverture Fichier Impossible")
End If
End Sub
---------------------------------------------------------------------------------------------
'import des informations'
Function Lire(ByVal NomFichier As String)
Dim Chaine As String
Dim Ar() As String
Dim i As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
Dim Separateur As String * 1
Separateur = ";"
Cells.Clear
NumFichier = FreeFile
iRow = 1
Open NomFichier For Input As #NumFichier
Do While Not EOF(NumFichier)
iCol = 1
Line Input #NumFichier, Chaine
Ar = Split(Chaine, Separateur)
For i = LBound(Ar) To UBound(Ar)
Cells(iRow, iCol) = (Ar(i))
iCol = iCol + 1
Next
iRow = iRow + 1
Loop
Close #NumFichier
End Function
----------------------------------------------------------------------------------------------
Données importées non ok
Reference;="Zone 1";="Zone 2";="Zone 3"
#Description;AAAA-BBBBBB-A-A;AAAA-BBBBB;CCCC-B-A
#Analyse;;="............";="........."
1;1234;France;;;
2;1111;Allemagne;;;
3;5555;Suisse;;;
4;888;Belgique;;;
5;36;Autriche;
6;6789;Luxembourg;
7;3456;Angleterre;
Données importées ok
Reference;Zone 1;Zone 2;Zone 3
#Description;AAAA-BBBBBB-A-A;AAAA-BBBBB;CCCC-B-A
#Analyse;;"""............""";"""........."""
1;1234;France;
2;1111;Allemagne;
3;5555;Suisse;
4;888;Belgique;
5;36;Autriche;
6;6789;Luxembourg;
7;3456;Angleterre;
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
affichage souhaité:
Référence Zone 1 Zone 2 Zone 3
Description AAAA-BBBB-A-A AAAA-BBBBB CCCC-B-A
#Analyse ......... ........
1 1234 France
2 1111 Allemagne
3 5555 Suisse
4 888 Belgique
5 36 Autriche
6 6789 Luxembourg
7 3456 Angleterre
6 6789 Luxembourg