je n'arrive pas à activer une cellule après un test de contenu par "for each cel in range", je trouve bien la cellule qui m'interesse mais je n'arrive pas à la mettre en "ActiveCell" pour tranférer mes données :
For Each Cel In Selection
If Left(Cel.Value, 5) <> "Annul" Then GoTo etiq3
ActiveCell = (Cel) ?
Comment lorsque la cellule contenant "Annul" est selectionnée, la passer en cellule active ?
Nickel, ça marche !! merci, j'ai de bonnes notions de programmation mais je ne connaîs pas bien la syntaxe VBA et je galère parfois pour trouver la bonne.
Ll but est de remplacer le contenu de plusieurs cellules (offset) à partir de cette cellule que je veux activer.
pour remplacer les cellules relatives à celle-ci, tu n'est pas obligé de la sélectionner. Tu peux tout simplement faire par exemple:
Code:
Cel.Offset(1,0).Value = Cel.Value
Fais le test, tu verras la rapidité d'exécution surtout si tu as un nombre de ligne significative (500?) car comme je l'ai dis plus haut, .Select ralentie inutilement une macro.
Re,
pour remplacer les cellules relatives à celle-ci, tu n'est pas obligé de la sélectionner. Tu peux tout simplement faire par exemple:
Code:
Cel.Offset(1,0).Value = Cel.Value
Fais le test, tu verras la rapidité d'exécution surtout si tu as un nombre de ligne significative (500?) car comme je l'ai dis plus haut, .Select ralentie inutilement une macro.
Ok, merci pour le conseil d'éviter Select. Mon programme n'a pas encore 500 lignes, mais il risque de les atteindre lorsque je l'aurai fini (notation d'élèves avec customization des matières et coefficients ainsi que calcul de courbe de progression avec prévison de notes finale que l'on peut choisir).