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 ?