Comparaison d'un fichier Txt et d'un fichier xlsx

Bonjour,

Là, effectivement ça fonctionne,j'ai des cellules en bleu.

Peux tu m'expliquer le fonctionnement,stp de ta macro.

Cordialement.

Hervé

Bonjour

Quelques commentaires dans le code

Bonjour,

Je ne vois aucun commentaires ???

Cordialement.

Hervé

Bonjour

Enlèves le filtre "Anti-commentaire"

Non sérieusement as -tu regardé dans le code ?

Banzai64 a écrit :

Quelques commentaires dans le code

Bonjour,

J'ai trouvé cela !

ub Compare()

Dim Ws As Worksheet

Dim J As Long

Dim Chemin As String, Fichier As String

Dim Cel As Range

Application.ScreenUpdating = False

Set Ws = Sheets("Sheet1")

Chemin = ThisWorkbook.Path & Application.PathSeparator

Fichier = "TRPU TT EM017839.txt"

' Ouverture et chargement du fichier texte

Workbooks.OpenText Filename:=Chemin & Fichier, _

Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _

xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _

Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _

Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1)), TrailingMinusNumbers:=True

' On travaille avec le fichier texte dans la page Excel

With ActiveWorkbook

' On travaile avec la page 1 de ce fichier

With .Sheets(1)

' On décompose la colonne E pour avoir les 2 codes délimités par # dans 2 colonnes différentes

.Columns("E:E").TextToColumns Destination:=.Range("J1"), DataType:=xlDelimited, _

TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _

Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:="#", _

FieldInfo:=Array(Array(1, 1), Array(2, xlTextFormat), Array(3, xlTextFormat), Array(4, 1)), _

TrailingMinusNumbers:=True

' On supprime les -

.Range("K2:K" & .Range("K" & Rows.Count).End(xlUp).Row).Replace what:="-", replacement:="", lookat:=xlPart

' On enlève la couleur éventuelle de la page

Ws.Range("A2:O" & Ws.Range("A" & Rows.Count).End(xlUp).Row).Interior.ColorIndex = xlNone

' Pour toutes les lignes

For J = 2 To Ws.Range("C" & Rows.Count).End(xlUp).Row

' Recherche dans le fichier Excel (Texte) le code article

Set Cel = .Columns("K").Find(what:=Mid(Ws.Range("C" & J), 4), LookIn:=xlValues, lookat:=xlWhole)

If Not Cel Is Nothing Then

' Si on a trouvé le code article

' Vérification de la quantité et du lot

If Cel.Offset(0, -5) = Ws.Range("H" & J) And Cel.Offset(0, 1) = Ws.Range("G" & J) Then

' on colorise la ligne

Ws.Range("A" & J & ":O" & J).Interior.ColorIndex = 34

End If

End If

Next J

End With

' Fermeture du fichier Excel contenant le fichier texte

.Close savechanges:=False

End With

End Sub

Cordialement.

Hervé

Bonjour

Les commentaires sont bien là

Ce n'est pas la peine de tout recopier, je sais ce que j'ai écrit

Bonjour,

D'après tes commentaires si j'ai bien compris je dois:

Ouverture et chargement du fichier texte

-Je dois donc ouvrir mon fichier txt ?

On travaille avec le fichier texte dans la page Excel

-Copier mon fichier txt dans mon fichier xlsx si oui où ?

On décompose la colonne E pour avoir les 2 codes délimités par # dans 2 colonnes différentes

On supprime les -

On enlève la couleur éventuelle de la page

Pour toutes les lignes

Recherche dans le fichier Excel (Texte) le code article

Si on a trouvé le code article

Vérification de la quantité et du lot

on colorise la ligne

Fermeture du fichier Excel contenant le fichier texte

Merci pour tes éclaircissements.

Cordialement.

Hervé

Bonjour

Lacpaisible a écrit :

-Je dois donc ouvrir mon fichier txt ?

Ben oui sinon cela ne va pas être facile

Lacpaisible a écrit :

-Copier mon fichier txt dans mon fichier xlsx si oui où ?

Ne t'en occupe pas, le fait d'ouvrir avec OpenText crée un fichier et c'est avec celui-ci que la macro travaille

Une fois le travail fait on ferme le fichier sans l'enregistrer

.Close savechanges:=False

Bonjour,

Peux tu m'expliquer ce qui dois se passer car à a part les couleurs je ne vois rien apparaître.Je suis désolé, mais j'ai un niveau très basique dans Excel

Cordialement.

Hervé

Bonjour

Que je veux tu que je fasse de plus

Je t'ai mis des commentaires dans le code

Je t'ai expliqué ce que tu ne comprenais pas (les 2 questions du message précédent)

Dans le code il y a le déroulement de la macro (tu as repris les commentaires dans un précédent message)

Le résultat tangible c'est la couleur qui indique la correspondance

Tout ce qui t'importe (tu peux faire du pas à pas bien sur pour bien détailler - Tu te positionnes sur le titre de la macro et tu appuies sur F8)

c'est que les résultats soient là, et qu'ils soient conformes

Ensuite à toi de dire c'est bon ou c'est pas bon ( et tu indiques ce qui ne va pas).

Rechercher des sujets similaires à "comparaison fichier txt xlsx"