Fichier TXT importé mise en forme

ArthurLord

XLDnaute Nouveau
Bonsoir,

Mon soucis avec ma macro est le suivant:
la macro ouvre un fichier txt, et me dépose le texte en deux colonne, me met les entetes, jusqu'a la c'est ok
1)mon pb est que dans la premiere colonne j'ai le texte qui est inseré dans deux apostrophe ' (ex: 'HB1' au lieu de HB1) que je souhaite retirer.
2) je souhaite faire un tri du nombre de fois que le mot HB1 ou un autre mot et contenu dans la colonne A.

voila j'espere avoir etait clair ci joint fichiers
Merci par avance de votre aide.
 

Pièces jointes

  • test.zip
    14.3 KB · Affichages: 32
  • test.zip
    14.3 KB · Affichages: 30
  • test.zip
    14.3 KB · Affichages: 29

Jocelyn

XLDnaute Barbatruc
Re : Fichier TXT importé mise en forme

Bonjour le Forum,
Bonjour ArthurLord,

1) en ce qui concerne le '

selectionne ta colonne de donnée vas dans menu édition => remplacer dans le premier champ tapes '

dans le 2° ne met rien

et bouton remplacer tout

2) pour le décompte

=NB.SI(A2:A8;A14)

et si tu veux additionner les chiffre de la colonne B au niveau des données tu peux mettre

=SOMMEPROD((A2:A8=A14)*B2:B8)

Jocelyn
 

ArthurLord

XLDnaute Nouveau
Re : Fichier TXT importé mise en forme

Merci Jocelyn, pour ta reponse rapide, est ce que tu pourrai me mettre tout ca dans ma macro ?

j'ai essayer le point 1 mais cela me donne un message d'erreur :

"Excel ne trouve pas de données correspondantes à remplacer.Aucune cellule de la sélection ne contient ce que vous avez tapé ou bien aucun enregistrement ne correspond aux critères."

a croire que mes apostrophe sont fantôme ^^

Pour le point deux cla ne fonctionne pas , je souhaite avoir le decompte de chaque occurance de la colonne A c-a-d: si j'ai trois fois le mot HB1 et 45 fois le mot SUS sur 48 lignes et bien je voudrais avoirs que deux lignes et le decompte de chaque mots !
 
Dernière édition:

jeanpierre

Nous a quitté
Repose en paix
Re : Fichier TXT importé mise en forme

Bonsoir ArthurLord, Jocelyn et le forum,

Je confirme que Edition/Remplacer tel que donné par Jocelyn fonctionne sans problème, il n'est même pas la peine de selectionner la plage.

Sinon, pour le reste pas mieux sauf à vérouiller ta plage par des $, (pour pouvoir l'étirer vers le bas), comme ceci

=NB.SI($A$2:$A$8;A14), pour reprendre ton exemple.

Bonne soirée.

Jean-Pierre
 

ArthurLord

XLDnaute Nouveau
Re : Fichier TXT importé mise en forme

Merci JeanPierre de ton aide, j'ai reussi a faire fonctionner la recherche /remplacer, mais avant que cela marche il a fallu que dans chaque cellule de la colonne A faire un coup de touche ENTER !!! et là le remplacement fonctionne.
je ne comprend pas la cause ? est ce que les données extraites du fichier texte ne sont pas dans le bon format?
 

Cousinhub

XLDnaute Barbatruc
Re : Fichier TXT importé mise en forme

Bonsoir, le fil

juste avant de partir :

Code:
Private Sub Liredonnees(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 Debut As Long, Fin As Long
Dim pl As Range
Dim cel As Range


    Debut = GetTickCount
    Cells.Clear
    Application.ScreenUpdating = False

    Close
    NumFichier = FreeFile

    iRow = 0
    Open NomFichier For Input As #NumFichier
        Do While Not EOF(NumFichier)
            iCol = 1: iRow = iRow + 1
            Line Input #NumFichier, Chaine
            Ar = Split(Chaine, Separateur)
            For i = LBound(Ar) To UBound(Ar)
                Ar(i) = Replace(Ar(i), Chr(34), Chr(32))
                Ar(i) = Trim(Ar(i))
                If IsNumeric(Ar(i)) Then
                    Cells(iRow, iCol) = CDec(Ar(i))
                Else
                    Cells(iRow, iCol) = Right((Left(Ar(i), Len(Ar(i)) - 1)), Len(Ar(i)) - 2)
                End If
                iCol = iCol + 1
            Next i
        Loop
    Close #NumFichier

    Fin = GetTickCount
    Call AjoutEnTete
 Set pl = Range("A1:A" & Range("A65536").End(xlUp).Row)
pl.Name = "base"
    [E1] = [A1]
    Range("base").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("E1" _
        ), Unique:=True
    For Each cel In Range("E2:E" & [E65000].End(xlUp).Row)
        cel.Offset(0, 1).Value = Application.CountIf([base], cel)
    Next cel
   
End Sub
 

Cousinhub

XLDnaute Barbatruc
Re : Fichier TXT importé mise en forme

RE-, le fil
JP : la fonction "Remplace" te remplace bien tous les "quote" ' par un vide, mais si et seulement si, les quotes sont en fin de texte (par exemple, 'bhbh' deviendra 'bhbh)
excel ne reconnait pas les quotes en début de texte...
et Arthurlord demandait de plus un code VBA pour mettre tout cela en pratique.
A plus, et meilleurs voeux
 

MJ13

XLDnaute Barbatruc
Re : Fichier TXT importé mise en forme

Bonjour à tous,

Tu peux aussi utiliser le fichier de ce post
https://www.excel-downloads.com/threads/pb-dimportation-dobjets-dans-une-macro.83569/

Qui permet d'importer des données TXT.
Puis avec une petite macro pour convertir les données avec ' comme séparateur puis un remplacement de la virgule.
Enfin un petit TCD devrait t'amener au résultat escompté.

Un conseil: Utilise l'enregistreur de macro et la c'est faisable par 95 % des Excelliens.
 

Discussions similaires

  • Question
XL pour MAC mise en forme
Réponses
2
Affichages
140

Membres actuellement en ligne

Statistiques des forums

Discussions
312 370
Messages
2 087 693
Membres
103 641
dernier inscrit
anouarkecita2