Re : combinaison entre 2 tableaux
Merci Bebere, j'ai pu réaliser en partie effectuer ce que je souhaitais, mais je voudrais qu'une macro indépendante fasse le signalement d'un déménagement, en modifiant la macro ci-dessous, que j'utilise actuellement pour l'autre comparaison :
Sub compareba() 'bebere
Dim Base As Variant, Ajout As Variant
Dim L As Long, La As Long, Lb As Long
Dim DerCb As Integer, DerC As Integer
Application.ScreenUpdating = True
With Sheets("base")
DerCb = .Range("A1").End(xlToRight).Column
.Cells(1, DerCb + 1) = "EtatAjout": .Cells(1, DerCb + 1).Interior.ColorIndex = 37 'bleu
.Range("D2😀" & .Range("D65536").End(xlUp).Row).NumberFormat = "00000000"
Base = .Range("A1").CurrentRegion
End With
With Sheets("ajout")
DerC = .Range("A1").End(xlToRight).Column
.Cells(1, DerC + 1) = "ColX": .Cells(1, DerC + 2) = "ColF"
.Range("D2😀" & .Range("D65536").End(xlUp).Row).NumberFormat = "00000000"
Ajout = .Range("A1").CurrentRegion
End With
For La = 2 To UBound(Ajout)
For Lb = 2 To UBound(Base)
If Ajout(La, DerC + 2) = "" Then 'colf
'colonne A à P correspond à 1 à 16
'pour base tu as 3 pour C tu changes en 4 pour D
'pour ajout, tu as 3 pour C tu changes en 12 pour L
If Base(Lb, 4) = Ajout(La, 4) Then 'compare droits
Base(Lb, DerCb + 1) = "x" 'colx
Ajout(La, DerC + 1) = "x": Ajout(La, DerC + 2) = "f" 'colf
If Base(Lb, 12) <> Ajout(La, 12) Then 'compare etat
Base(Lb, DerCb + 1) = Ajout(La, 12)
End If
End If
End If
Next Lb
Next La
With Sheets("base")
For Lb = 2 To UBound(Base)
If Base(Lb, DerCb + 1) <> "x" Then .Cells(Lb, DerCb + 1) = Base(Lb, DerCb + 1)
If Base(Lb, DerCb + 1) = "" Then .Cells(Lb, DerCb + 1) = "nouveau"
Next Lb
For La = 2 To UBound(Ajout)
If Ajout(La, DerC + 1) <> "x" Then
L = .Range("A65536").End(xlUp).Row + 1
For C = 1 To UBound(Ajout, 2) ' - 1
.Cells(L, C) = Ajout(La, C)
.Cells(L, C).Font.ColorIndex = 5 'bleu 3 rouge
Next C
End If
Next La
End With
With Sheets("ajout")
.Columns(DerC + 1).Clear
.Columns(DerC + 2).Clear
End With
Application.ScreenUpdating = True
End Sub
La colonne de comparaison de déménagement est la colonne 'D', avec information du déménagement en colonne 'T' ou 'U'. J'ai essayé de supprimer une partie de la macro ci-dessus en modifiant la partie restante pour que la comparaison se fasse non plus sur la colonne 'L' mais sur la colonne 'E', en vain. J'ai des messages d'erreur ou aucun affichage.
Merci.