Bonjour,
Je suis en train d'effectuer un programme en visual basic sur Excel. Ce dernier compare les valeurs de deux colonnes de deux fichiers excel et vient prendre les valeurs de la colonne d'à côté du fichier 2 et vient la coller dans le fichier 1 à la bonne ligne article.
Par exemple :
fichier 1 : fichier 2:
colonne A : colonne A : Colonne B
1 3 A
2 15 B
3 8 C
4 1 D
Je souhaite que la colonne B du fichier 1 affiche donc :
D
0
A
0
La difficultée se trouve dans les deux fichiers excel. Il faut savoir que j'en ait créé l'un et que le deuxième est réceptionné. Je ne sais pas quelle options et comment il a été créé.
Mon code actuel est :
Set sh2 = Workbooks("Classeur2.xls").Sheets("Feuil1").Range("A1:A500")
Set sh1 = Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A1:A500")
For Each c In sh2
temp = c.Value
If temp <> "" Then
Set plage = sh1.Columns("A").Cells.Find(temp)
line = plage.Row
Workbooks("Classeur1.xls").Sheets("Feuil1").Cells(line, 3).Value = c(1, 3).Value
End If
Next
Le script plante à la ligne line = plage.row
Quand je copie le fichier reçu dans un nouveau classeur excel, il bugge aussi mais les valeurs sont bien collés dans mon premier classeur.
Est ce que quelqu'un a une idée de ce qui se passe et de comment je peut y remédier ?
Merci par avance pour toute aide que vous pourrez m'apporter.
