Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 VBA Remplacer avec conditions

jl456

XLDnaute Junior
Bonjour,

Dans mon fichier Excel, j'ai 2 onglets :
"table" : qui contient des codes en A2:A10
"BDD" : qui contient plus de codes que dans "table".

Dans BDD, pour les codes qui ne sont pas dans "table", je souhaite remplacer dans la cellule le code par "autre", le tout en VBA.

Pouvez-vous m'aider svp ? Je vous joins un fichier d'exmple.
Merci,

JL
 

Pièces jointes

  • exemple.xlsx
    12.8 KB · Affichages: 13

bérylion

XLDnaute Occasionnel
bonjour

ca pourrait donner qqch comme ça :
VB:
Sub Test()

  Dim o, i, MesCodes, TableCodes
  Set TableCodes = CreateObject("scripting.dictionary")
  MesCodes = Feuil1.[A2:A11]
 
  For i = 1 To UBound(MesCodes): TableCodes.Add MesCodes(i, 1), i: Next
 
  For Each o In Feuil2.[B2:B19]
    If Not TableCodes.Exists(o.Value) Then o.Value = "Autre"
  Next
 
  Set TableCodes = Nothing
 
End Sub

Enjoy...
 

jl456

XLDnaute Junior
Bonjour,

Merci beaucoup pour l'aide, cela marche très bien.

Le nombre de lignes dans BDD peut varier, est-il possible de rendre cette partie du code variable ?
For Each o In Feuil2.[B2:B19]

Merci !
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…