Bonjour,
Voilà mon problème :
J'ai un fichier Excel de plusieurs feuilles (là, j'en ai enlevé pour que ça soit plus clair) dont chacune d'entre-elle contient en cellule B2 le nom qui s'affichera ensuite dans l'onglet. J'ai fait ceci comme ça :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B2")) Is Nothing Then
ActiveSheet.Name = Range("B2")
End If
End Sub
Toutes les feuilles sauf la feuille comparaison changent de nom. Le nom "comparaison" est fixe.
J'ai fait une macro qui doit nettoyer les données que j'entre dans les feuilles (par un copier/coller). Cette macro est appelée depuis n'importe quelle feuille et à la fin du nettoyage, le curseur doit revenir en A3.
Cela a fonctionné jusqu'à ce que j'ajoute au milieu de la macro des actions sur la feuille "comparaison" car à ce moment là, à la fin de la macro je me retrouve sur la feuille comparaison et pas sur celle qui a lancé la macro.
Comment fait-on pour mettre en mémoire la feuille qui lance la macro de manière à pouvoir la remettre active à la fin et se retrouver en A3 de la feuille qui a lancé.
Ça ne doit pas être très compliqué, mais je débute en VBA et je n'y arrive pas.
Nota : dans le fichier joint, les données ont été collées dans la première feuille... il faut cliquer sur le bouton "1) Nettoyer" pour voir ce qui se passe.
merci,
Christophe