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

Le
Zangel_xyz
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4324801
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"
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.


Zangel_xyz
Le #4257221
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"
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"


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 -



JB
Le #4257161
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"
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"


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"
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 -




Zangel_xyz
Le #4313891
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"
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"


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"
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"
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 -





Publicité
Poster une réponse
Anonyme