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

Mise à jour d'un fichier Excel à partir d'un autre

4 réponses
Avatar
Zangel_xyz
Bonjour,

J'ai besoin de votre aide pour mettre =E0 jour de fa=E7on automatique un
fichier Excel =E0 partir d'un autre. Je tiens =E0 pr=E9ciser que les 2
fichiers n'ont pas le m=EAme nombre de colonnes.

Dans le 1er fichier que nous appelerons "nos_donn=E9es", il y a
plusieurs informations dont 2 colonnes contenant de l'information du
2e fichier ("donn=E9es_USA"). Ce que je dois faire =E0 chaque 2 semaines
de fa=E7on manuelle, c'est d'ajouter et de mettre =E0 jour les donn=E9es du
2e fichier dans le 1er fichier. En r=E9sum=E9, si un client (NOM) du 2e
fichier n'existe pas dans le 1er fichier, je dois l'ajouter et entrer
ces informations (date livr pr=E9vue). Si le client existe, je dois
v=E9rifier si date livr pr=E9vue a chang=E9 et mettre le tout =E0 jour s'il=
y
a lieu.

Avec une recherchev, j'ai r=E9ussi =E0 identifier les nouveaux clients,
mais je dois quand m=EAme entrer les informations manuellement. Pour ce
qui est de trouver si les informations de date livr pr=E9vue a chang=E9,
je ne sais pas comment le trouver avec une formule ni de fa=E7on
automatique, ni comment faire en sorte que le 1er fichier se mette =E0
jour de fa=E7on automatique.

Je crois que je pourrais faire le tout via un code VBA, mais j'aurais
besoin de votre aide pour savoir comment comparer deux donn=E9es en VBA
et comment copier la donn=E9e du 2e fichier vers le 1er si les
informations sont diff=E9rentes et mettre le tout sur la bonne ligne,
bien entendu.

Je ne vous demande pas chers amis d'=E9crire le code =E0 ma place, mais
j'aurai besoin de vos lumi=E8res pour savoir sur quel pied je dois
danser et la marche =E0 suivre. Voici un exemple de mes 2 fichiers

Fichier: nos_donnees.xls
Num=E9ro Nom Date livr pr=E9vue Date livr=E9e
0001 ABC 5-Mar-07 5-Mar-07
0002 BCD 6-Mar-07 6-Mar-07
0003 CDE 9-Feb-07 15-Feb-07
0004 DFG 5-Jan-07 20-Jan-07
0005 DFR 6-Mar-07 6-Mar-07
0006 JHT 6-Feb-07 8-Feb-07
0007 NVD 5-Feb-07 5-Feb-07
0008 NFR 7-Feb-07 7-Feb-07
0009 OIU 8-Jan-07 3-Jan-07


Fichier: Donn=E9es_USA.xls
Num=E9ro Nom Date livr pr=E9vue
0001 ABC 1-Feb-07 (diff=E9rente)
0002 BCD 6-Mar-07
0003 CDE 16-Jan-07 (diff=E9rente)
0004 DFG 5-Jan-07
0005 DFR 6-Mar-07
0009 OIU 1-Jan-07 (diff=E9rente)

Pouvez-vous m'aider?

Je vous remercie =E0 l'avance pour votre aide.

4 réponses

Avatar
JB
Bonjour,

Sub majModifAjout()
Set Susa = Sheets("Usa")
Set Sbd = Sheets("BD")
For Each c In Range(Susa.[A3], Susa.[A65000].End(xlUp))
p = Application.Match(c, Sbd.[A3:A1000], 0)
If Not IsError(p) Then
Sbd.Cells(2 + p, 3) = c.Offset(0, 2)
Else
Sbd.[A65000].End(xlUp).Offset(1, 0) = c
Sbd.[A65000].End(xlUp).Offset(0, 1) = c.Offset(0, 1)
Sbd.[A65000].End(xlUp).Offset(0, 2) = c.Offset(0, 2)
End If
Next c
End Sub

http://cjoint.com/?dsssANDeoN

Pour classeur, ajouter WorkBooks("xx.xls") devant le nom de la
feuille.

JB

On 18 mar, 17:38, "Zangel_xyz" wrote:
Bonjour,

J'ai besoin de votre aide pour mettre à jour de façon automatique un
fichier Excel à partir d'un autre. Je tiens à préciser que les 2
fichiers n'ont pas le même nombre de colonnes.

Dans le 1er fichier que nous appelerons "nos_données", il y a
plusieurs informations dont 2 colonnes contenant de l'information du
2e fichier ("données_USA"). Ce que je dois faire à chaque 2 semaines
de façon manuelle, c'est d'ajouter et de mettre à jour les données du
2e fichier dans le 1er fichier. En résumé, si un client (NOM) du 2e
fichier n'existe pas dans le 1er fichier, je dois l'ajouter et entrer
ces informations (date livr prévue). Si le client existe, je dois
vérifier si date livr prévue a changé et mettre le tout à jour s' il y
a lieu.

Avec une recherchev, j'ai réussi à identifier les nouveaux clients,
mais je dois quand même entrer les informations manuellement. Pour ce
qui est de trouver si les informations de date livr prévue a changé,
je ne sais pas comment le trouver avec une formule ni de façon
automatique, ni comment faire en sorte que le 1er fichier se mette à
jour de façon automatique.

Je crois que je pourrais faire le tout via un code VBA, mais j'aurais
besoin de votre aide pour savoir comment comparer deux données en VBA
et comment copier la donnée du 2e fichier vers le 1er si les
informations sont différentes et mettre le tout sur la bonne ligne,
bien entendu.

Je ne vous demande pas chers amis d'écrire le code à ma place, mais
j'aurai besoin de vos lumières pour savoir sur quel pied je dois
danser et la marche à suivre. Voici un exemple de mes 2 fichiers

Fichier: nos_donnees.xls
Numéro Nom Date livr prévue Date livrée
0001 ABC 5-Mar-07 5-Mar-07
0002 BCD 6-Mar-07 6-Mar-07
0003 CDE 9-Feb-07 15-Feb-07
0004 DFG 5-Jan-07 20-Jan-07
0005 DFR 6-Mar-07 6-Mar-07
0006 JHT 6-Feb-07 8-Feb-07
0007 NVD 5-Feb-07 5-Feb-07
0008 NFR 7-Feb-07 7-Feb-07
0009 OIU 8-Jan-07 3-Jan-07

Fichier: Données_USA.xls
Numéro Nom Date livr prévue
0001 ABC 1-Feb-07 (différente)
0002 BCD 6-Mar-07
0003 CDE 16-Jan-07 (différente)
0004 DFG 5-Jan-07
0005 DFR 6-Mar-07
0009 OIU 1-Jan-07 (différente)

Pouvez-vous m'aider?

Je vous remercie à l'avance pour votre aide.


Avatar
Zangel_xyz
Merci beaucoup JB, ça semble faire ce que je veux.

Si je voulais ajouter de mettre en rouge les données changées, qu'est-
ce que je dois ajouter et où.

Je ne comprend pas trop le code, peux-tu me l'expliquer.

Merci

On Mar 18, 1:19 pm, "JB" wrote:
Bonjour,

Sub majModifAjout()
Set Susa = Sheets("Usa")
Set Sbd = Sheets("BD")
For Each c In Range(Susa.[A3], Susa.[A65000].End(xlUp))
p = Application.Match(c, Sbd.[A3:A1000], 0)
If Not IsError(p) Then
Sbd.Cells(2 + p, 3) = c.Offset(0, 2)
Else
Sbd.[A65000].End(xlUp).Offset(1, 0) = c
Sbd.[A65000].End(xlUp).Offset(0, 1) = c.Offset(0, 1)
Sbd.[A65000].End(xlUp).Offset(0, 2) = c.Offset(0, 2)
End If
Next c
End Sub

http://cjoint.com/?dsssANDeoN

Pour classeur, ajouter WorkBooks("xx.xls") devant le nom de la
feuille.

JB

On 18 mar, 17:38, "Zangel_xyz" wrote:



Bonjour,

J'ai besoin de votre aide pour mettre à jour de façon automatique un
fichier Excel à partir d'un autre. Je tiens à préciser que les 2
fichiers n'ont pas le même nombre de colonnes.

Dans le 1er fichier que nous appelerons "nos_données", il y a
plusieurs informations dont 2 colonnes contenant de l'information du
2e fichier ("données_USA"). Ce que je dois faire à chaque 2 semaines
de façon manuelle, c'est d'ajouter et de mettre à jour les donnée s du
2e fichier dans le 1er fichier. En résumé, si un client (NOM) du 2e
fichier n'existe pas dans le 1er fichier, je dois l'ajouter et entrer
ces informations (date livr prévue). Si le client existe, je dois
vérifier si date livr prévue a changé et mettre le tout à jour s'il y
a lieu.

Avec une recherchev, j'ai réussi à identifier les nouveaux clients,
mais je dois quand même entrer les informations manuellement. Pour ce
qui est de trouver si les informations de date livr prévue a changé,
je ne sais pas comment le trouver avec une formule ni de façon
automatique, ni comment faire en sorte que le 1er fichier se mette à
jour de façon automatique.

Je crois que je pourrais faire le tout via un code VBA, mais j'aurais
besoin de votre aide pour savoir comment comparer deux données en VBA
et comment copier la donnée du 2e fichier vers le 1er si les
informations sont différentes et mettre le tout sur la bonne ligne,
bien entendu.

Je ne vous demande pas chers amis d'écrire le code à ma place, mais
j'aurai besoin de vos lumières pour savoir sur quel pied je dois
danser et la marche à suivre. Voici un exemple de mes 2 fichiers

Fichier: nos_donnees.xls
Numéro Nom Date livr prévue Date livrée
0001 ABC 5-Mar-07 5-Mar-07
0002 BCD 6-Mar-07 6-Mar-07
0003 CDE 9-Feb-07 15-Feb-07
0004 DFG 5-Jan-07 20-Jan-07
0005 DFR 6-Mar-07 6-Mar-07
0006 JHT 6-Feb-07 8-Feb-07
0007 NVD 5-Feb-07 5-Feb-07
0008 NFR 7-Feb-07 7-Feb-07
0009 OIU 8-Jan-07 3-Jan-07

Fichier: Données_USA.xls
Numéro Nom Date livr prévue
0001 ABC 1-Feb-07 (différente)
0002 BCD 6-Mar-07
0003 CDE 16-Jan-07 (différente)
0004 DFG 5-Jan-07
0005 DFR 6-Mar-07
0009 OIU 1-Jan-07 (différente)

Pouvez-vous m'aider?

Je vous remercie à l'avance pour votre aide.- Hide quoted text -


- Show quoted text -



Avatar
JB
Bonjour,

Sub majModifAjout()
Set Susa = Sheets("Usa")
Set Sbd = Sheets("BD")
For Each c In Range(Susa.[A3], Susa.[A65000].End(xlUp))
p = Application.Match(c, Sbd.[A3:A1000], 0)
If Not IsError(p) Then
Sbd.Cells(2 + p, 3) = c.Offset(0, 2)
Else
Sbd.[A65000].End(xlUp).Offset(1, 0) = c
Sbd.[A65000].End(xlUp).Offset(0, 1) = c.Offset(0, 1)
Sbd.[A65000].End(xlUp).Offset(0, 2) = c.Offset(0, 2)
End If
Next c
End Sub

http://boisgontierj.free.fr/fichiers/Cellules/MajBD.xls

JB

On 22 mar, 00:53, "Zangel_xyz" wrote:
Merci beaucoupJB, ça semble faire ce que je veux.

Si je voulais ajouter de mettre en rouge les données changées, qu'est-
ce que je dois ajouter et où.

Je ne comprend pas trop le code, peux-tu me l'expliquer.

Merci

On Mar 18, 1:19 pm, "JB" wrote:



Bonjour,

Sub majModifAjout()
Set Susa = Sheets("Usa")
Set Sbd = Sheets("BD")
For Each c In Range(Susa.[A3], Susa.[A65000].End(xlUp))
p = Application.Match(c, Sbd.[A3:A1000], 0)
If Not IsError(p) Then
Sbd.Cells(2 + p, 3) = c.Offset(0, 2)
Else
Sbd.[A65000].End(xlUp).Offset(1, 0) = c
Sbd.[A65000].End(xlUp).Offset(0, 1) = c.Offset(0, 1)
Sbd.[A65000].End(xlUp).Offset(0, 2) = c.Offset(0, 2)
End If
Next c
End Sub

http://cjoint.com/?dsssANDeoN

Pour classeur, ajouter WorkBooks("xx.xls") devant le nom de la
feuille.

JB

On 18 mar, 17:38, "Zangel_xyz" wrote:

Bonjour,

J'ai besoin de votre aide pour mettre à jour de façon automatique un
fichier Excel à partir d'un autre. Je tiens à préciser que les 2
fichiers n'ont pas le même nombre de colonnes.

Dans le 1er fichier que nous appelerons "nos_données", il y a
plusieurs informations dont 2 colonnes contenant de l'information du
2e fichier ("données_USA"). Ce que je dois faire à chaque 2 semai nes
de façon manuelle, c'est d'ajouter et de mettre à jour les donn ées du
2e fichier dans le 1er fichier. En résumé, si un client (NOM) du 2e
fichier n'existe pas dans le 1er fichier, je dois l'ajouter et entrer
ces informations (date livr prévue). Si le client existe, je dois
vérifier si date livr prévue a changé et mettre le tout à jou r s'il y
a lieu.

Avec une recherchev, j'ai réussi à identifier les nouveaux client s,
mais je dois quand même entrer les informations manuellement. Pour ce
qui est de trouver si les informations de date livr prévue a chang é,
je ne sais pas comment le trouver avec une formule ni de façon
automatique, ni comment faire en sorte que le 1er fichier se mette à
jour de façon automatique.

Je crois que je pourrais faire le tout via un code VBA, mais j'aurais
besoin de votre aide pour savoir comment comparer deux données en V BA
et comment copier la donnée du 2e fichier vers le 1er si les
informations sont différentes et mettre le tout sur la bonne ligne,
bien entendu.

Je ne vous demande pas chers amis d'écrire le code à ma place, ma is
j'aurai besoin de vos lumières pour savoir sur quel pied je dois
danser et la marche à suivre. Voici un exemple de mes 2 fichiers

Fichier: nos_donnees.xls
Numéro Nom Date livr prévue Date livrée
0001 ABC 5-Mar-07 5-Mar-07
0002 BCD 6-Mar-07 6-Mar-07
0003 CDE 9-Feb-07 15-Feb-07
0004 DFG 5-Jan-07 20-Jan-07
0005 DFR 6-Mar-07 6-Mar-07
0006 JHT 6-Feb-07 8-Feb-07
0007 NVD 5-Feb-07 5-Feb-07
0008 NFR 7-Feb-07 7-Feb-07
0009 OIU 8-Jan-07 3-Jan-07

Fichier: Données_USA.xls
Numéro Nom Date livr prévue
0001 ABC 1-Feb-07 (différente)
0002 BCD 6-Mar-07
0003 CDE 16-Jan-07 (différente)
0004 DFG 5-Jan-07
0005 DFR 6-Mar-07
0009 OIU 1-Jan-07 (différente)

Pouvez-vous m'aider?

Je vous remercie à l'avance pour votre aide.- Hide quoted text -


- Show quoted text -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -




Avatar
Zangel_xyz
JB merci merci merci beaucoup. Je commence à comprendre le code et
j'ai pu le manipuler pour faire exactement ce que je voulais.

Encore une fois merci beaucoup.

Zangel_XYZ


On 22 mar, 02:32, "JB" wrote:
Bonjour,

Sub majModifAjout()
Set Susa = Sheets("Usa")
Set Sbd = Sheets("BD")
For Each c In Range(Susa.[A3], Susa.[A65000].End(xlUp))
p = Application.Match(c, Sbd.[A3:A1000], 0)
If Not IsError(p) Then
Sbd.Cells(2 + p, 3) = c.Offset(0, 2)
Else
Sbd.[A65000].End(xlUp).Offset(1, 0) = c
Sbd.[A65000].End(xlUp).Offset(0, 1) = c.Offset(0, 1)
Sbd.[A65000].End(xlUp).Offset(0, 2) = c.Offset(0, 2)
End If
Next c
End Sub

http://boisgontierj.free.fr/fichiers/Cellules/MajBD.xls

JB

On 22 mar, 00:53, "Zangel_xyz" wrote:



Merci beaucoupJB, ça semble faire ce que je veux.

Si je voulais ajouter de mettre en rouge les données changées, qu'e st-
ce que je dois ajouter et où.

Je ne comprend pas trop le code, peux-tu me l'expliquer.

Merci

On Mar 18, 1:19 pm, "JB" wrote:

Bonjour,

Sub majModifAjout()
Set Susa = Sheets("Usa")
Set Sbd = Sheets("BD")
For Each c In Range(Susa.[A3], Susa.[A65000].End(xlUp))
p = Application.Match(c, Sbd.[A3:A1000], 0)
If Not IsError(p) Then
Sbd.Cells(2 + p, 3) = c.Offset(0, 2)
Else
Sbd.[A65000].End(xlUp).Offset(1, 0) = c
Sbd.[A65000].End(xlUp).Offset(0, 1) = c.Offset(0, 1)
Sbd.[A65000].End(xlUp).Offset(0, 2) = c.Offset(0, 2)
End If
Next c
End Sub

http://cjoint.com/?dsssANDeoN

Pour classeur, ajouter WorkBooks("xx.xls") devant le nom de la
feuille.

JB

On 18 mar, 17:38, "Zangel_xyz" wrote:

Bonjour,

J'ai besoin de votre aide pour mettre à jour de façon automatiq ue un
fichier Excel à partir d'un autre. Je tiens à préciser que le s 2
fichiers n'ont pas le même nombre de colonnes.

Dans le 1er fichier que nous appelerons "nos_données", il y a
plusieurs informations dont 2 colonnes contenant de l'information du
2e fichier ("données_USA"). Ce que je dois faire à chaque 2 sem aines
de façon manuelle, c'est d'ajouter et de mettre à jour les donn ées du
2e fichier dans le 1er fichier. En résumé, si un client (NOM) d u 2e
fichier n'existe pas dans le 1er fichier, je dois l'ajouter et entr er
ces informations (date livr prévue). Si le client existe, je dois
vérifier si date livr prévue a changé et mettre le tout à j our s'il y
a lieu.

Avec une recherchev, j'ai réussi à identifier les nouveaux clie nts,
mais je dois quand même entrer les informations manuellement. Pou r ce
qui est de trouver si les informations de date livr prévue a chan gé,
je ne sais pas comment le trouver avec une formule ni de façon
automatique, ni comment faire en sorte que le 1er fichier se mette à
jour de façon automatique.

Je crois que je pourrais faire le tout via un code VBA, mais j'aura is
besoin de votre aide pour savoir comment comparer deux données en VBA
et comment copier la donnée du 2e fichier vers le 1er si les
informations sont différentes et mettre le tout sur la bonne lign e,
bien entendu.

Je ne vous demande pas chers amis d'écrire le code à ma place, mais
j'aurai besoin de vos lumières pour savoir sur quel pied je dois
danser et la marche à suivre. Voici un exemple de mes 2 fichiers

Fichier: nos_donnees.xls
Numéro Nom Date livr prévue Date livrée
0001 ABC 5-Mar-07 5-Mar-07
0002 BCD 6-Mar-07 6-Mar-07
0003 CDE 9-Feb-07 15-Feb-07
0004 DFG 5-Jan-07 20-Jan-07
0005 DFR 6-Mar-07 6-Mar-07
0006 JHT 6-Feb-07 8-Feb-07
0007 NVD 5-Feb-07 5-Feb-07
0008 NFR 7-Feb-07 7-Feb-07
0009 OIU 8-Jan-07 3-Jan-07

Fichier: Données_USA.xls
Numéro Nom Date livr prévue
0001 ABC 1-Feb-07 (différente)
0002 BCD 6-Mar-07
0003 CDE 16-Jan-07 (différente)
0004 DFG 5-Jan-07
0005 DFR 6-Mar-07
0009 OIU 1-Jan-07 (différente)

Pouvez-vous m'aider?

Je vous remercie à l'avance pour votre aide.- Hide quoted text -


- Show quoted text -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -