IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

importation de fichier txt [XL-2010]


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut importation de fichier txt
    Bonjour à tous,

    Déjà merci pour voter forum, il m'a déjà bien aidé par le passé. Cependant, je reste débutant en matière d'Excel. Je viens alors vers vous parce qu'il m'arrive des problèmes que je ne comprend pas.

    L'Excel en question à pour mission :
    -d'importer un fichier texte issue d'une référence de produit
    -d'en extraire certaines données (nombre)
    -insérer ces données dans une colonne d'un tableau (sur une autre feuille)
    -Le tableau contient 10 colonnes pour pouvoir comparer les données de 10 fichiers textes du même format.

    J'ai réalisé tout ça, cependant, tantôt sa marche, tantôt sa ne marche pas.

    --------------------------------------------------
    Le premier point : l'importation
    J'utilise la commande suivante :
    Sub Ouverture_txt()
    '
    ' Ouverture_txt Macro
    '
    Application.Dialogs(xlDialogImportTextFile).Show

    End Sub
    Tantôt je peu utiliser n'importe quelle case comme premier point pour importer le fichier, tantôt, il faut que j'en trouve une (au hasard) où c'est possible, sinon, mon excel reboucle dans mon choix de case jusqu'à ce que je clique sur une case qui lui va.
    Tantôt il m'affiche :
    Nom : Sans titre-1.jpg
Affichages : 151
Taille : 33,2 Ko

    et d'autre fois, ça marche très bien.

    Bref, je n'y comprend rien.
    ----------------------------------------------------
    Ensuite, je lis les données sur une autre feuille de l'Excel, j'ai alors deux possibilités. Ou sa marche, ou ça me marque #REF dans les cases qui devraient marquer des nombres. Le lien est alors cassé et je ne comprend pas pourquoi et encore moins comment le corriger.
    Cela arrive généralement après avoir effacé les importations de textes (macro où j'ai fait supr juste dans les cases concernées)



    J'aurais bien mis mon excel en ligne, mais j'ai un message d'erreur lors de l'importation de fichier.

    Si vous avez quelconque idée pouvant m'aider à résoudre mes problèmes, je suis preneur. Ce n'est pas mon domaine, sa fait une semaine que je suis dessus et je suis en train de devenir fou.

    Merci d'avance,
    totof89

  2. #2
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Voyons voir si j'ai bien suivi.
    Vous souhaitez copier le contenu de 10 fichiers .txt et en insérer le contenu dans 10 colonnes de votre fichier Excel.
    Est ce bien résumé?

    Si oui, commençons par le choix d'un fichier txt.
    Pour cela, nous allons utiliser GetOpenFilename en lui ajoutant .txt comme paramètre.

    Comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Chemin = Application.GetOpenFilename("Text Files (*.txt), *.txt")
    Suivra, fatalement, la lecture d'un fichier txt.
    Voici une petite fonction qui lit un fichier txt et en place le contenu, ligne par ligne, dans une variable tableau :

    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
    18
    19
    Sub LireTxt()
    Dim Tb() As String, Chemin As String, num As Long, i As Long
     
    Chemin = Application.GetOpenFilename("Text Files (*.txt), *.txt") 'cf ci-dessus
    If Chemin = False Then Exit Sub
    'permet de retrouver le 1er numéro libre de désignation d’un fichier 
    num = FreeFile 
    'ouvre le fichier en lecture
    Open Chemin For Input As #num
    i = -1
    'boucle tant que l’on n’a pas atteint la fin du fichier 
    While Not EOF(1)
      '***************Stockage des lignes dans la variable tableau Tb
      i = i + 1
      ReDim Preserve Tb(i)
      Line Input #1, Tb(i) 
    Wend
    Close #num 'fermeture
    End Sub
    Ensuite, ne restera qu'à placer une petite boucle.
    Mais avant cela, il faudrait savoir si :
    - les 10 fichiers txt à "importer" sont tous dans le même répertoire?
    - si oui, y sont-ils seuls?
    - Qu'elles sont leurs colonnes respectives?
    - etc...

    Mais commencez déjà par essayer ces codes.
    Cordialement,
    Franck

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    merci pour cette réponse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Chemin = Application.GetOpenFilename("Text Files (*.txt), *.txt")
    permet d'ouvrir la boite de dialogue. Cependant, il ne semble par qu'elle me permette de récupérer mes fichiers txt.
    Si j'ai bien compris, c'est là que le second code que vous m'avez mis prend le relais. Il lit puis écrit le contenus du fichier txt dans l'Excel via différents systèmes de boucle. J'ai donc essayé de remplacer ma ligne de code, cependant, lorsque j'exécute la macro, excel m'affiche :
    Nom : Sans titre-1.jpg
Affichages : 141
Taille : 28,7 Ko

    Maintenant, je me suis aperçu que j'ai omis une info importante. Le .txt contient des chiffre, mais aussi des lettre. C'est un tableau avec les désignation pour les lignes et les colonnes. Seul le contenus qui m'intéresse est en nombre.

    J'ai réussis à trouver un moyen pour que vous puissiez voir ce que j'ai fait pour le moment. J'espère que vous serez indulgent, je suis un gros débutant
    http://dl.free.fr/getfile.pl?file=/fezwWQVL

    J'ai mis un exemple du format de fichier .txt que j'importe dans la première feuille.
    Pour le reste, vous avez parfaitement compris l'objet de l'Excel. Juste que les fichiers .txt devront être récupérés manuellement car leur nom changeront à chaque fois.

    En tout cas, merci de votre aide, je suis en grosse galère là dessus, mais c'est un outil qui va m'être très utile pour la suite.

  4. #4
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par totof89 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Chemin = Application.GetOpenFilename("Text Files (*.txt), *.txt")
    permet d'ouvrir la boite de dialogue. Cependant, il ne semble par qu'elle me permette de récupérer mes fichiers txt.
    Si j'ai bien compris, c'est là que le second code que vous m'avez mis prend le relais. Il lit puis écrit le contenus du fichier txt dans l'Excel via différents systèmes de boucle.
    Oui, c'est tout à fait cela. Application.GetOpenFilename stocke le chemin d'accès complet à notre fichier texte dans une variable (Chemin) de type String. Je n'ai plus qu'à aller le lire ensuite.

    Pour info, vous trouverez ici une autre méthode d'importation de fichiers txt.
    http://excel.developpez.com/telechar...ille-de-calcul

    Elle semble relativement simple à adapter à votre cas.

    Pour continuer, il me faudrait un exemplaire d'un des fichiers txt. Leur structure est également importante...
    Cordialement,
    Franck

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    je regarde votre lien.

    En attendant, voici le fichier .txt type
    http://dl.free.fr/bqKcIJ4Ey

  6. #6
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Bon.
    Après des tests avec tes fichiers, ma méthode n'est pas aussi efficace que celle donnée dans le lien.

    Voici le code de ce qu'il convient de faire :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    Sub Test()
    Dim Chemin As String
     
    'R?pertoire contenant les fichiers
    Chemin = Application.GetOpenFilename("Text Files (*.txt), *.txt")
    Dim Cellule As Range
    Set Cellule = Application.InputBox("Sélectionnez La cellule à partir de laquelle insérer les données", "Sélection de cellules", Type:=8)
    If Cellule.Count > 1 Then MsgBox "Une seule cellule!", vbCritical: Exit Sub
    'ici d'autres tests si tu le souhaites
    ImportText Chemin, Cellule
    End Sub
     
    Sub ImportText(NomFichier As Variant, Cible As Range)
    Dim QT As QueryTable
     
    Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & NomFichier, Destination:=Cible)
     
    With QT
    'D?finit les s?parateur de colonnes dans le fichier txt
    .TextFileOtherDelimiter = ";"
    .TextFileSemicolonDelimiter = True
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .Refresh
    End With
    End Sub
    Cependant, je constate un petit bug. Dites moi s'il en est de même pour vous.
    Lorsque je l'exécute, il m'insère une colonne là ou je veux insérer mon txt. Donc tout le tableau se décale.
    Si j'efface et que je relance, le txt s'importe au bon endroit...
    Pourquoi? Je ne sais pas encore...
    Cordialement,
    Franck

  7. #7
    Candidat au Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    J'ai malheureusement exactement le même problème que vous.
    Avec cette méthode, il n'y a plus de problème pour la transition avec l'autre feuille (mis à par le décalage des colonnes).
    Cependant, avec ma première méthode, j'avais la possibilité de modifier la ponctuation des chiffres. Il faudrait, pour excel, remplacer le "."par "," Sinon Excel prend des valeurs en millier (alors que ce sont juste des dizaines) et ne veux plus faire les moyennes, min et max de mon tableau.

  8. #8
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    La nuit portant conseil, je vous propose de tester cette solution, qui, chez moi, semble résoudre tous vos soucis...

    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
    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 Test()
    Dim Chemin As String
     
    'Répertoire contenant les fichiers
    Chemin = Application.GetOpenFilename("Text Files (*.txt), *.txt")
    Dim Cellule As Range
    Set Cellule = Application.InputBox("Sélectionnez La cellule à partir de laquelle insérer les données", "Sélection de cellules", Type:=8)
    If Cellule.Count > 1 Then MsgBox "Une seule cellule!", vbCritical: Exit Sub
    'ici d'autres tests si vous le souhaitez
    ImportText Chemin, Cellule
    End Sub
     
    Sub ImportText(NomFichier As Variant, Cible As Range)
    'Sources :
        'http://excel.developpez.com/telecharger/detail/id/2413/Regrouper-le-contenu-de-plusieurs-fichiers-txt-dans-une-feuille-de-calcul
    Dim QT As QueryTable
    Dim Tb(), dl As Long
     
    ThisWorkbook.Worksheets.Add
    ActiveSheet.Name = "Intermediaire"
    Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & NomFichier, Destination:=Sheets("Intermediaire").Range("A1"))
     
    With QT
        'D?finit les s?parateur de colonnes dans le fichier txt
        .TextFileOtherDelimiter = ";"
        .TextFileSemicolonDelimiter = True
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .Refresh
    End With
     
    'Sources :
        'http://www.developpez.net/forums/d140322/logiciels/microsoft-office/excel/macros-vba-excel/vba-e-querytables-boucle/
     
    With Worksheets("Intermediaire")
        For Each QT In .QueryTables
            QT.Delete
        Next QT
        dl = .Range("A" & Rows.Count).End(xlUp).Row
        Tb = .Range("A1:D" & dl).Value
        Application.DisplayAlerts = False
        .Delete
        Application.DisplayAlerts = True
    End With
    Cible.Resize(UBound(Tb, 1), UBound(Tb, 2)) = Tb
    End Sub
    Cordialement,
    Franck

  9. #9
    Candidat au Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Merci beaucoup, ça marche nickel, je ne sais comme vous remercier.
    En tout cas, je n'hésiterais pas à recommander ce forum. Je n’aurais jamais penser avoir une solution aussi rapidement.

    Cordialement,

  10. #10
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par totof89 Voir le message
    je ne sais comme vous remercier.
    Ben voilà, vous l'avez fait...
    Mais de rien et surtout n'hésitez pas.
    A bientôt
    Cordialement,
    Franck

  11. #11
    Candidat au Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Finalement j'ai encore un petit problème.
    Le premier, tant que l'adresse du fichier texte est courte (sur le bureau ou proche) sa se passe bien, par contre, dès qu'on la rallonge avec pas mal de sous dossier, sa ne marche plus.
    Bon, encore ce problème, ce n'est pas bien grave.

    Maintenant, je viens de réaliser que perso, je tourne sur Excel 2010 mais qu'une partie des utilisateurs, eux, tournent sur excel 2003. Après quelques test et modif, tout marche sur la version 2003, excepté un bout de votre module. Il ne convertit plus les "." en ",". J'ai essayé de trouver des solutions mais généralement, je me retrouve avec des décimales disparues ou autre, mais ça ne marche jamais.

    Auriez-vous une solution ?
    Si ca sort trop du sujet, j'en referais un autre, mais je en pense pas que ce soit utile.

    merci d'avance

  12. #12
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Pour transformer des points en virgules, tu peux utiliser Replace()
    Pour cela, il te faut boucler sur la variable Tb() un peu comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i = LBound(Tb, 1) To UBound(Tb, 1)
        For j = LBound(Tb, 2) To UBound(Tb, 2)
            Tb(i, j) = Replace(Tb(i, j), ".", ",")
        Next j
    Next i
    Dans le code ce serait avant le .Delete
    Cordialement,
    Franck

  13. #13
    Candidat au Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonjour Pijaku,

    J'obtient le même genre de chose que ce que j'avais essayé, tous les points ne sont pas récupérés et remplacés en virgule :

    Nom : Sans titre-1.jpg
Affichages : 197
Taille : 561,1 Ko

  14. #14
    Candidat au Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bon, je me suis penché un peu plus sur mon problème. Par contre, je n'ai toujours pas trouvé la solution.

    On remarque avec mon affichage du message précédent que seules les valeurs comprises entre 1 et -1 n'ont pas le '.' convertit en ','. J'ai donc voulu appliquer dans mon tableau le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI('données brutes'!K60<-1;'données brutes'!K60/100;SI('données brutes'!K60>1;'données brutes'!K60/1000000;'données brutes'!K60))
    Seulement, celui là ne marche pas. Avec K60= 0.58, je me retrouve avec la valeur 0.00000058
    Par contre, quand je remplace mon 'données brutes'!K60 par 0.58, sa marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(0,58<-1;0,58/100;SI(0,58>1;0,58/1000000;0,58))
    Je me suis donc dit que ma valeur en entré (mon K60) ne devait pas être en format "nombre", je l'ai donc passé en format nombre manuellement pour voir. Seulement, le résultat ne change pas.

    Bref, si vous avez une idée de comment je peu faire, là, franchement, je sèche.

  15. #15
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Bon...
    J'ai essayé ceci avec tes fichiers et cela semble fonctionner...
    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
    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
    Sub Test()
    Dim Chemin As String
     
    'Répertoire contenant les fichiers
    Chemin = Application.GetOpenFilename("Text Files (*.txt), *.txt")
    Dim Cellule As Range
    Set Cellule = Application.InputBox("Sélectionnez La cellule à partir de laquelle insérer les données", "Sélection de cellules", Type:=8)
    If Cellule.Count > 1 Then MsgBox "Une seule cellule!", vbCritical: Exit Sub
    'ici d'autres tests si vous le souhaitez
    ImportText Chemin, Cellule
    End Sub
     
    Sub ImportText(NomFichier As Variant, Cible As Range)
    'Sources :
        'http://excel.developpez.com/telecharger/detail/id/2413/Regrouper-le-contenu-de-plusieurs-fichiers-txt-dans-une-feuille-de-calcul
    Dim QT As QueryTable
    Dim Tb(), dl As Long
     
    ThisWorkbook.Worksheets.Add
    ActiveSheet.Name = "Intermediaire"
    Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & NomFichier, Destination:=Sheets("Intermediaire").Range("A1"))
     
    With QT
        'D?finit les s?parateur de colonnes dans le fichier txt
        .TextFileOtherDelimiter = ";"
        .TextFileSemicolonDelimiter = True
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .Refresh
    End With
     
    'Sources :
        'http://www.developpez.net/forums/d140322/logiciels/microsoft-office/excel/macros-vba-excel/vba-e-querytables-boucle/
     
    With Worksheets("Intermediaire")
        For Each QT In .QueryTables
            QT.Delete
        Next QT
        dl = .Range("A" & Rows.Count).End(xlUp).Row
        Tb = .Range("A1:D" & dl).Value
        For i = LBound(Tb, 1) To UBound(Tb, 1)
            For j = LBound(Tb, 2) To UBound(Tb, 2)
                If IsNumeric(Replace(Tb(i, j), ".", ",")) Then Tb(i, j) = CDbl(Replace(Tb(i, j), ".", ","))
                'Tb(i, j) = Replace(Tb(i, j), ".", ",")
            Next j
        Next i
        Application.DisplayAlerts = False
        .Delete
        Application.DisplayAlerts = True
    End With
    Cible.Resize(UBound(Tb, 1), UBound(Tb, 2)) = Tb
    End Sub
    Cordialement,
    Franck

  16. #16
    Candidat au Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Juillet 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Ce coup là, c'est la bonne
    Associé à ma petite ligne de condition, à priori, sa marche nickel

    Encore merci pour ta patience et ton aide

  17. #17
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Mais de rien.
    N'hésite pas.

    Par contre, une petite sécurité complémentaire (on ne sait jamais ce dont sont capables les utilisateurs) serait de tester l'existence d'une feuille "intermediaire" avant de la créer.
    Pour cela regarde ici : http://www.developpez.net/forums/d26...euille-existe/
    Cordialement,
    Franck

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/10/2012, 10h28
  2. [VBA-excel] import de fichier txt sans délimiteur de texte
    Par VBBBA dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/01/2008, 05h49
  3. Import de fichier TXT
    Par REMACC1 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/08/2007, 14h29
  4. probleme d'import de fichier txt avec des tab
    Par lecureuil dans le forum Access
    Réponses: 4
    Dernier message: 23/08/2005, 19h22
  5. .bat pour l'import de fichier txt dans postgres
    Par pseudomh dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 25/03/2005, 00h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo