Récupération de donnée sur 2 listes

  • Initiateur de la discussion Sofia
  • Date de début
S

Sofia

Guest
Bonjour tout le monde,

je suis nouveau sur le forum et j'aimerai bien avoir de l'aide pour peaufiner ma petite application.

Alors en gros j'ai 1 liste A et 1 autre liste B
La liste B à été extraite d'une base de donnée SQL et la liste A généré par un stagiaire du groupe.

Exemple du fichier A et B qui sont identiques
ID | Nom | Prenom

Dans la liste A, toute la colonne ID est remplie et dans la liste B seul quelques lignes de la colonne ont été remplies.

Ce que je veux, c'est qu'en utilisant une macro, il ira chercher automatiquement les valeurs de la colonne ID du fichier A et les insérer dans la colonne ID du fichier B (si possible les mettre en gras pour différencier les valeurs déja présents.
Encore un critère avant l'insertion : il faut faire une comparaison entre le nom et le prénom et si ça correspond on l'insere sinon on marque ERREUR.

Pouvez vous m'aidez sachant que je débutes en VBA...
En vous remerciant d'avance.
 
S

sofia

Guest
Merci de ta réponse rapide pierrejean.

Ci joint en pièce jointe un exemple de mon souci.
Le fichier A est en fait le fichier complet et le fichier B est un fichier récupéré dans une base de donnée auxquels on souhaiterait mettre à jour plus tard...

Ce qu'on souhaiterait faire, c'est mettre à jour la colonne ID du fichier B à partir du fichier A.
Si le ID est manquant ou marqué 'introuvable', on dois faire la comparaison du nom et prénom du fichier A et du fichier B.

Si les données sont exactes dans les 4 colonnes on recense l'ID manquant dans la colonne ID du fichier B avec mise en gras ou en couleur pour différencier les autres entrées déja présents dans le fichier B.

C'est pas facile à expliquer je sais :S [file name=exemple_20060313142425.zip size=3204]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exemple_20060313142425.zip[/file]
 

Pièces jointes

  • exemple_20060313142425.zip
    3.1 KB · Affichages: 13

pierrejean

XLDnaute Barbatruc
re bonjour sofia

il me semble avoir compris

vois ci-dessous si c'est bien cela

Pierre [file name=B1.zip size=12401]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/B1.zip[/file]
 

Pièces jointes

  • B1.zip
    12.1 KB · Affichages: 29
  • B1.zip
    12.1 KB · Affichages: 34
  • B1.zip
    12.1 KB · Affichages: 32
S

sofia

Guest
Bonjour tout le monde,

Dans un premier temps, je souhaiterais remercier pierrejean pour sa réponse rapide.
Il y a un petit souci parceque lorsque je clique sur le bouton, j'ai une erreur : 'erreur d'éxécution 9' - L'indice n'apparaît pas à la sélection...'

Puis je clique sur débogage, j'ai cette ligne qui est surligné en jaune 'Set feuilA = Workbooks('A.xls').Sheets'

Etant donné que mes 2 fichiers ne s'appelent pas fichier A et B, j'ai donc remplacer 'A.xls' par mon nom de fichier.

Merci d'avance
 

pierrejean

XLDnaute Barbatruc
bonjour sofia

il peut y avoir un probleme du a l'appelation de tes fichiers

dans ton exemple tu les avait donné en A et B ce qui est un peu court et il me semble que excel (dans ce cas la ) adopte A.xls
par contre avec un nom tel que Classeur1 il ne veut plus du .xls

pour en avoir le coeur net ouvre tes fichiers et dans l'un d'eux met la macro suivante

Sub test()
Dim n As Integer
For n = 1 To Workbooks.Count
MsgBox (Workbooks(n).Name)
Next n
End Sub

tu verras s'afficher les noms de tes fichiers tels que excel les comprend

adapte alors le code que je t'ais fourni

et tiens moi au courant
 
S

sofia

Guest
Bonjour le forum, pierrejean

Juste pour vous dire que le bout de script de pierrejean fonctionne parfaitement et que je lui remercie encore une fois de m'avoir aidée :)

la faute venait de moi car je m'étais trompé sur le nom du fichier...et bien sûr tout chamboulait :whistle:

une question : le fichier A comporte plus de 60 000 lignes et le fichier B 5000 lignes.
Donc comparer 5000 sur 60000 lignes ça m'a pris 1h15 minutes.
Est ce qu'il y a pas un moyen d'accéler ce processus ?

En vous remerciant d'avance.
 
S

sofia

Guest
Me voila de retour :D
Bonjour à tous et à toutes et merci à Pierrejean qui m'a beaucoup aidé sur ma petite appli mais je suis de nouveau confronté à un souci d'importation/MAJ.

j'aurai encore une question :
est ce qu'on peut importer et MAJ une base de donnée SQL SERVER par une macro ?

Dans mon fichier excel, nous avons l'ID, le nom ,le prénom et le mail.
Et dans la table USER, nous avons les mêmes entités.
Ce que je veux c'est de faire une comparaison entre le fichier excel et la base de donnée existante et si tout est ok je peux importer la ligne et ainsi de suite :D

C'est possible de faire ça ?
 

Discussions similaires

Réponses
22
Affichages
911

Statistiques des forums

Discussions
312 581
Messages
2 089 917
Membres
104 306
dernier inscrit
Bouhlal