VBA - Comparer 2 listes et "remplir les trous"

Bonsoir à tous,

je vous explique mon problème.

J'ai un tableau (de longueur variable) sur 3 colonnes (non accolées). Ce tableau ressemble à un Sudoku, à savoir que certaines valeurs sont présentes et d'autres non.

J'aimerais, à partir de ma base de données, compléter les blancs. Parfois il manque la valeur dans A, parfois dans B, parfois dans C mais il y a toujours une donnée sur la ligne.

J'ai bien fait une macro mais elle fait planter Excel dès le départ. La voici:

Sub TraiterNoms()

Application.ScreenUpdating = False

Application.DisplayAlerts = False

Dim i As Variant

Dim CompareRange As Variant

Dim x As Variant

Dim y As Variant

Dim derlignE As Variant

Dim derlignC As Variant

derlignE = Range("E" & Rows.Count).End(xlUp).Row

derlignC = Sheets("Feuil2").Range("C" & Rows.Count).End(xlUp).Row

Set CompareRange = Sheets("Feuil2").Range("C:C")

For i = Range("E" & Rows.Count).End(xlUp).Row To 1 Step -1

If Range("D" & i) = "" Then

For Each x In Range("C:C")

For Each y In CompareRange

If x = y Then x.Offset(0, 1) = y.Offset(0, 1)

Next y

Next x

End If

Next i

Application.ScreenUpdating = True

Application.DisplayAlerts = True

End Sub

Je vous joins le fichier excel avec ma demande.

Quelqu'un pourrait-il m'aiguiller?

Merci à vous, heureusement que vous êtes là

Bonjour,

Ci-joint une proposition à tester.

Bonne soirée

Bouben

39remplirtrous.xlsm (35.82 Ko)

C'est génial après l'avoir intégré au reste de ma macro ça fonctionne.

Par contre je vais être chiant mais si admettons que les colonnes A, B et C se trouvent en fait en C,D et L, (dans la feuil1 et la base de données) comment peut-on faire?

C'est un code bien complexe...

Sinon ce n'est pas grave je bougerai mes colonnes avant le traitement..

Merci en tout cas c'est super.

Rechercher des sujets similaires à "vba comparer listes remplir trous"