Je vous invite à vérifier plus attentivement. En tout cas, de ce que j'ai compris, ça fonctionne. Mais souvenez-vous que je vous ai écrit ceci :
Si une valeur est inscrite en colonne D, on remplace la dernière partie du code en colonne A (la partie à droite des derniers ":") par la valeur en colonne D. Lorsque le code en colonne A se termine par ":" (à 31 caractères), cela a pour effet d'ajouter la valeur en colonne D.
Sinon, il faudrait que vous donniez des exemples clairs de tous les cas et des résultats attendus avec un fichier sans colonne inutile.
Et c'est toujours valable...
Et sur le fichier que je vous ai joint, il y a un bouton qui permet l'exécution de la macro. Ca ne se fait pas tout seul. Il est cependant possible de la déclencher à chaque changement sur la colonne D par exemple :
'>>>>> CODE A METTRE DANS LE MODULE DE LA FEUILLE CONCERNEE (FEUIL1 DE MEMOIRE)
private sub worksheet_change(byval target as range)
if target.column = 4 then
call Rajouter
end if
end sub
Cdlt,