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

Macro : dans une cellule remplacement d'une valeur par une autre

cjob

XLDnaute Nouveau
Bonjour,
Dans une macro, je souhaite remplacer les différentes valeurs d'une colonne par leur code. Pour cela, j'utilise la formule suivante :

<<
ActiveCell.FormulaR1C1 = _
"=IF(RC[1]=""Jean"",""1"",IF(RC[1]=""Michel"",""2"",IF(RC[1]=""Nathan"",""3"",IF(RC[1]=""Marc"",""4"",IF(RC[1]=""Luc"",""5"",IF(RC[1]=""Louis"",""6"",IF(RC[1]=""André"",""7"",IF(RC[1]=""Marin"",""8"",""""))))))))"
>>

Le problème est que le nombre de remplacement est limité : si je rajoute une personne, la macro plante.

Avez-vous une idée pour contourner le pb ou une autre façon de s'y prendre ?

Merci,
Cédric.
 

tototiti2008

XLDnaute Barbatruc
Re : Macro : dans une cellule remplacement d'une valeur par une autre

Bonjour cjob,

il me semble que l'on est limité à 8 IF imbriqués dans une formule... c'est pouquoi Microsoft a inventé RECHERCHEV (VLOOKUP)
Activecell.FormulaR1C1 = _
"=VLOOKUP(RC[1],{""Jean"",1;""Michel"",2;""Nathan"",3;""Marc"",4;""Luc"",5;""Louis"",6;""André"",7;""Marin"",8},2,false)"
 

Discussions similaires

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