Bonjour à tous,
Je suis en train d'écrire un code pour insérer des données d'un fichier "référence" à mon fichier de données, si le texte dans une des cellules est égal a celles d'une cellule dans le fichier "référence". Si je lance le code, il commence à tourner et il tourne à l'infinie. Si j'enlève cette boucle de code, le code marche, donc c'est bien ce morceau de code qui pose problème.
Voici mon code (je l'ai adapté d'un autre code qui fonctionne très bien, mais c'était une recherche par rapport a des intitulés egales). Les variables sont définies plus haut. Je me demande s'il plante car c'est trop long a faire? (pour l'instant pour un fichier données de 170 lignes et un fichier référence de 32 lignes).
Merci de vos suggestions
Je suis en train d'écrire un code pour insérer des données d'un fichier "référence" à mon fichier de données, si le texte dans une des cellules est égal a celles d'une cellule dans le fichier "référence". Si je lance le code, il commence à tourner et il tourne à l'infinie. Si j'enlève cette boucle de code, le code marche, donc c'est bien ce morceau de code qui pose problème.
Voici mon code (je l'ai adapté d'un autre code qui fonctionne très bien, mais c'était une recherche par rapport a des intitulés egales). Les variables sont définies plus haut. Je me demande s'il plante car c'est trop long a faire? (pour l'instant pour un fichier données de 170 lignes et un fichier référence de 32 lignes).
Merci de vos suggestions
VB:
For i = 2 To lstrw 'les lignes du ws
j = 2 'les lignes du ws_ref
Do While j <= row_count
If ws.Cells(i, 1) = ws_ref.Cells(j, 16).Text Then
ws.Cells(i, 4) = ws_ref.Cells(j, 15)
ws.Cells(i, 5) = ws_ref.Cells(j, 22)
ws.Cells(i, 6) = ws_ref.Cells(j, 25)
ws.Cells(i, 7) = ws_ref.Cells(j, 4)
ws.Cells(i, 8) = ws_ref.Cells(j, 5)
ws.Cells(i, 9) = ws_ref.Cells(j, 6)
ws.Cells(i, 10) = ws_ref.Cells(j, 12)
ws.Cells(i, 12) = ws_ref.Cells(j, 13)
ws.Cells(i, 13) = ws_ref.Cells(j, 7)
ws.Cells(i, 14) = ws_ref.Cells(j, 8)
ws.Cells(i, 15) = ws_ref.Cells(j, 9)
ws.Cells(i, 16) = ws_ref.Cells(j, 10)
ws.Cells(i, 17) = ws_ref.Cells(j, 11)
j = line_count
End If
j = j + 1
Loop
Next i