Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comparaison de 2 fichiers Excel

4 réponses
Avatar
fabrice
Bonjour,

Voilà... J'ai un problème à vous soumettre:

Situation:

Soit 2 fichiers Excel comportant une liste de numéros de produits et de prix.

Le 1er fichier est un fichier destiné à des clients, comportant environ 200
d'articles.

Le second est un fichier que nous recevons de notre fournisseur, comportant
plus de 3000 produits, avec des prix mis fréquemment à jour.

But:

Le problème que nous avons aujourd'hui, c'est que, lors de changement de
prix, nous devons pointer manuellement tous les produits du 1er fichier avec
les prix du 2ème fichier.

Le but serait de faire avec les 2 fichiers sources, un 3ème fichier en
sortie, contenant la liste des produits et des prix du 1er fichier, avec les
prix du 2ème fichier correspondant au même produit, facilitant le contrôle.

Merci pour votre aide !

4 réponses

Avatar
JB
Bonjour,


Les 2 fichiers sont ouverts:

Sub majMajPrix()
Set SClient = Sheets("BDClient")
Set SFournisseur =
Workbooks("BDFournisseur").Sheets("BDFournisseur")
For Each c In Range(SClient.[A3], SClient.[A65000].End(xlUp))
p = Application.Match(c, SFournisseur.[A3:A10000], 0)
If Not IsError(p) Then
c.Offset(0, 1) = SFournisseur.Cells(2 + p, 2)
End If
Next c
End Sub

http://cjoint.com/?eskzKBZ6zK
http://cjoint.com/?eskAes6rhY


Cordialement JB


On 18 avr, 09:38, fabrice wrote:
Bonjour,

Voilà... J'ai un problème à vous soumettre:

Situation:

Soit 2 fichiers Excel comportant une liste de numéros de produits et de prix.

Le 1er fichier est un fichier destiné à des clients, comportant envir on 200
d'articles.

Le second est un fichier que nous recevons de notre fournisseur, comporta nt
plus de 3000 produits, avec des prix mis fréquemment à jour.

But:

Le problème que nous avons aujourd'hui, c'est que, lors de changement de
prix, nous devons pointer manuellement tous les produits du 1er fichier a vec
les prix du 2ème fichier.

Le but serait de faire avec les 2 fichiers sources, un 3ème fichier en
sortie, contenant la liste des produits et des prix du 1er fichier, avec les
prix du 2ème fichier correspondant au même produit, facilitant le con trôle.

Merci pour votre aide !


Avatar
FFO
A partir du fichier client et du nouveau fichier fournisseur ouvert
Mise en place des nouveaux tarifs sur 3° colonne fichier client avec
marquage en jaune de ceux différents des précédents :

Windows("Fichier fournisseur").Activate
For Each c In Worksheets("Onglet").Range("A1", [A1].Offset(65535,
0).End(xlUp))
Windows("fichier client").Activate
For Each d In Worksheets("Onglet").Range("A1", [A1].Offset(65535,
0).End(xlUp))
If c = d Then
d.Offset(0, 2) = c.Offset(0, 1)
If d.Offset(0, 1) <> c.Offset(0, 1) Then
d.Offset(0, 2).Interior.ColorIndex = 6
End If
End If
Next
Next

pour un fichier client de 200 articles et un fichier fournisseur de 3000
produits moins de 10 secondes de traitement

Espérant avoir répondu à ton attente

Bonjour,

Voilà... J'ai un problème à vous soumettre:

Situation:

Soit 2 fichiers Excel comportant une liste de numéros de produits et de prix.

Le 1er fichier est un fichier destiné à des clients, comportant environ 200
d'articles.

Le second est un fichier que nous recevons de notre fournisseur, comportant
plus de 3000 produits, avec des prix mis fréquemment à jour.

But:

Le problème que nous avons aujourd'hui, c'est que, lors de changement de
prix, nous devons pointer manuellement tous les produits du 1er fichier avec
les prix du 2ème fichier.

Le but serait de faire avec les 2 fichiers sources, un 3ème fichier en
sortie, contenant la liste des produits et des prix du 1er fichier, avec les
prix du 2ème fichier correspondant au même produit, facilitant le contrôle.

Merci pour votre aide !




Avatar
fabrice
Merci bcp pour la réponse !

Mais la macro fait un problème avec

Set SFournisseur = Workbooks("BDFournisseur").Sheets("BDFournisseur")



"JB" wrote:

Bonjour,


Les 2 fichiers sont ouverts:

Sub majMajPrix()
Set SClient = Sheets("BDClient")
Set SFournisseur > Workbooks("BDFournisseur").Sheets("BDFournisseur")
For Each c In Range(SClient.[A3], SClient.[A65000].End(xlUp))
p = Application.Match(c, SFournisseur.[A3:A10000], 0)
If Not IsError(p) Then
c.Offset(0, 1) = SFournisseur.Cells(2 + p, 2)
End If
Next c
End Sub

http://cjoint.com/?eskzKBZ6zK
http://cjoint.com/?eskAes6rhY


Cordialement JB


On 18 avr, 09:38, fabrice wrote:
Bonjour,

Voilà... J'ai un problème à vous soumettre:

Situation:

Soit 2 fichiers Excel comportant une liste de numéros de produits et de prix.

Le 1er fichier est un fichier destiné à des clients, comportant environ 200
d'articles.

Le second est un fichier que nous recevons de notre fournisseur, comportant
plus de 3000 produits, avec des prix mis fréquemment à jour.

But:

Le problème que nous avons aujourd'hui, c'est que, lors de changement de
prix, nous devons pointer manuellement tous les produits du 1er fichier avec
les prix du 2ème fichier.

Le but serait de faire avec les 2 fichiers sources, un 3ème fichier en
sortie, contenant la liste des produits et des prix du 1er fichier, avec les
prix du 2ème fichier correspondant au même produit, facilitant le contrôle.

Merci pour votre aide !







Avatar
Jac
Bonjour Fabrice,

je crois que le plus simple serait d'utiliser la fonction recherchev.

Dans le fichier du fournisseur avec les 3000 articles, il suffit, dans une
colonne de faire ce genre de calcul :
=RECHERCHEV(A3;BDClient.xls!$A:$B;2;FAUX)
De cette façon, tu pourrais voir dans la BdFournisseur quels sont les
articles qui sont aussi dans la BdClient et à quel prix. Des #N/A
t'indiqueront les articles non repris. Si tu ne veux pas les voir, il
suffira d'ajouter une condition à la formule :
=SI(ESTNA(RECHERCHEV(A3;BDClient.xls!$A:$B;2;FAUX));"";RECHERCHEV(A3;BDClient.xls!$A:$B;2;FAUX))

Et tu peux aussi faire le calcul inverse afin de savoir quels sont les prix
fournisseur pour les articles du tarif client.

Jac


"fabrice" a écrit dans le message de
news:
Bonjour,

Voilà... J'ai un problème à vous soumettre:

Situation:

Soit 2 fichiers Excel comportant une liste de numéros de produits et de
prix.

Le 1er fichier est un fichier destiné à des clients, comportant environ
200
d'articles.

Le second est un fichier que nous recevons de notre fournisseur,
comportant
plus de 3000 produits, avec des prix mis fréquemment à jour.

But:

Le problème que nous avons aujourd'hui, c'est que, lors de changement de
prix, nous devons pointer manuellement tous les produits du 1er fichier
avec
les prix du 2ème fichier.

Le but serait de faire avec les 2 fichiers sources, un 3ème fichier en
sortie, contenant la liste des produits et des prix du 1er fichier, avec
les
prix du 2ème fichier correspondant au même produit, facilitant le
contrôle.

Merci pour votre aide !