Visual Basic - comparaison de cellule

Résolu/Fermé
Spit - 5 avril 2009 à 14:12
 Spit - 5 avril 2009 à 16:17
Bonjour,

encore un petit probleme avec une macro excel.
je possede deux classeurs excels avec plusieurs colonnes et beaucoup de lignes.

dans le classeur1, j'ai une colonne A avec des chiffres dedans
dans le classeur2, j'ai une colonne B avec les mêmes chiffres dedans.

l'objectif est de rassembler les informations des deux classeurs du classeur2 vers le classeur 1

exemple:

classeur1:

Fil de l'eau Jour Heure numéro sig Signalements N° rapport

22234 1-avr 08:25 1

22235 1-avr. 16:25 3 385


classeur2:

dans le classeur 2 il y a les informations manquantes (signalement et n°rapport): la colonne commune est le fil de l'eau.




Mon code expliqué :
je nomme mes deux classeurs. je fais une boucle qui incrémente les lignes du classeur 1. je fais une autre boucle qui incrémente les lignes du classeur 2. Si la cellule du classeur 1 est égale a la celulle du classeur 2, alors je recopie les données manquantes sur la ligne et je change de ligne dans le classeur 2. sinon je change de ligne dans le classeur 1.


le probleme c'est qu'une erreur apparait me disant: incompatibilité de type. j'ai pourtant tout mis en nombre ou en standrat (j'ai essayé les deux mais ca marche pas)!!

le code:

Dim classeur2 As String
Dim classeur As String
classeur2 = ActiveWorkbook.Name
ActiveWindow.ActivateNext
classeur = ActiveWorkbook.Name

Windows(classeur2).Activate


Columns("B:B").NumberFormat = "0.00"


Dim k As Integer *k --> variable ligne du classeur 1
Dim e As Integer *e --> variable ligne classeur 2
k = 4
e = 4


Do
If Workbooks(classeur).Sheets(Feuil1).Cells(k, 1) = Workbooks(classeur2).Sheets(Feuil1).Cells(e, 2)
Then *comparaison des deux cellules: c'est la que ça bloque)

fildeleau = Workbooks(classeur2).Worksheets(Feuil1).Cells(e, 2)
sig = Workbooks(classeur2).Worksheets(Feuil1).Cells(e, 6)
rapport = Workbooks(classeur2).Worksheets(Feuil1).Cells(e, 1)


Workbooks(classeur).Worksheets(Feuil1).Cells(k, 5) = codsig
Workbooks(classeur).Worksheets(Feuil1).Cells(k, 7) = oi


e = e + 1 * je change de ligne dans mon classeur 2 SI les cellules etaient egales

Else: k = k + 1 * je change de ligne SI les celulles etaient pas egales
End If

Loop Until Cells(e, 2) = Empty




voila est ce que qqun pourrait me dire si c'est juste un probleme de syntaxce ?

merci
A voir également:

1 réponse

C'est résolu il manquait les " " dans worksheets("Feuill1")

J'ai cherché toute l'après midi pour une connerie!!
0