Code :
Sub vincent13009() 'On determine la derniere ligne où tu as saisi en colonne B de la feuille (ici la feuil3) DerLigne = Range(Range("B1" ).End(xlDown).Address).Row 'On boucle sur chaque ligne pour regarder ce qu'il y a dans la cellule de la colonne A (en l'occurence tes formules d'arrondi) For x = 1 To DerLigne 'On stocke la valeur que tu saisis en colonne B NouvelleValeur = Cells(x, 2).Value 'Où x et la ligne, et 2 la colonne (A=1 ; B=2 etc.) 'On regarde ce qu'il y a en colonne A ValCell = Cells(x, 1).Formula 'Où x et la ligne, et 1 la colonne (A=1 ; B=2 etc.) 'il nous faut donc extraire la cellule. On va donc chercher les informations qui permettent de la retrouver. 'En l'occurence, la cellule sera toujours, si je ne m'abuse du point d'exclamation délimitant la feuille et une virgule 'pour les décimal d'arrondi 'On cherche donc le ! PointInterro = InStr(1, ValCell, "!", vbTextCompare) + 1 'On cherche donc la , Virgule = InStr(1, ValCell, ",", vbTextCompare) 'on sait donc où se trouve la reference a notre cellule. On fait ca car tu pourrais avoir des cellule du type AA1. CelluleTrouvee = Mid(ValCell, PointInterro, Virgule - PointInterro) 'On fait pareil pour extraire la feuille. On a deja le point d'exclamation, on a juste a chercher la parenthese ouvrante 'On cherche donc la ( Parenthese = InStr(1, ValCell, "(", vbTextCompare) + 1 'on sait donc où se trouve la reference a notre feuille. FeuilleTrouvee = Mid(ValCell, Parenthese, PointInterro - Parenthese - 1) 'On met donc ta valeur saisie de la colonne B au bon endroit Sheets(FeuilleTrouvee).Range(CelluleTrouvee).Value = NouvelleValeur Next x End Sub
|