Macro permettant d'analyser une colonne + remplacement

avrilspirit

XLDnaute Nouveau
Bonjour,

J'ai une petite question concernant excel, je ne sais pas si ma demande est réalisable avec excel et si cela est facile à mettre en place.

J'ai un tableau à droite avec deux colonnes importante :

F => vieux ID
G => nouvel ID

1.png

Je souhaiterais que le macro fasse la correspondance est mette à jour la colonne B avec la valeur correspondante de la colonne G.

Par exemple cela donnerait :
Original:
attribut1 4
attribut2 6
attribut3 8
Modification:
attribut1 2
attribut2 5
attribut3 7

Voyez vous comment puis-je réaliser cette opération?

Je joins le fichier ( Regarde la pièce jointe Test_attributs.xls ).

Bonne journée.

Antoine
 

Pièces jointes

  • 1.png
    1.png
    12.6 KB · Affichages: 105
  • 1.png
    1.png
    12.6 KB · Affichages: 107

DragonBallZ1981

XLDnaute Nouveau
Re : Macro permettant d'analyser une colonne + remplacement

Bonsoir, je suis pas un pro d'excel mais pourquoi pas faire tout simplement une formule en B2 etc...

comme ceci en B2

=si(G2="";F2;G2)
 

Pièces jointes

  • Test_attributstest.xls
    27.5 KB · Affichages: 51
Dernière édition:

avrilspirit

XLDnaute Nouveau
Re : Macro permettant d'analyser une colonne + remplacement

Bonjour,

Merci pour cette réponse rapide :)

Par contre cela ne fonctionne pas tout à fait car en colonne F, c'est un ID unique donc il ne peut pas apparaître deux fois, par contre il peut apparaître plusieurs fois en colonne B ou il devra être remplacer à chaque fois (table de correspondance).

En gros si on prend l’exemple :
Tout les 4 de la colonne B doivent être remplacé en 2
Tout les 6 de la colonne B doivent être remplacé en 5...

Merci pour votre aide.
 

Staple1600

XLDnaute Barbatruc
Re : Macro permettant d'analyser une colonne + remplacement

Bonsoir à tous


Une solution possible (test OK)
(basée sur et seulement sur ton exemple, donc à adapter si tu modifies ton exemple)
Code:
Sub a()
Dim t, i&, c As Range
t = Range("F2:G5").Value
For Each c In Range("B2:B13")
For i = 1 To 4
If c.Value = t(i, 1) Then
c.Value = t(i, 2)
End If
Next i
Next c
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin