Faire revenir à la page active précédente en fin de code

Bonjour,

J'ai besoin (une fois encore) des lumières de la communauté.

J'ai effectué une option dans un dossier.

L'utilisateur peut choisir la langue d'affichage des légendes.

J'ai réglé cela par un "copier/coller" d'une colonne à l'autre dans une feuille de paramètres (P1)

J'ai différentes feuilles où apparaitra l'option des langues (d/f/i).

Voilà mon code:

Sub ChoixFrancais()

' Effectue la modification de la langue souhaitée

Sheets("P1").Select

Range("AG18:AG300").Select

Selection.Copy

Range("I18").Select

ActiveSheet.Paste

Sheets("Führung").Select

Range("A1").Select

End Sub

Questions:

1) Est-il possible de faire le changement dans une feuille sans faire un déplacement dans cette feuille ?

2) Si la réponse de la première question est négative, existe-t-il un code pour faire revenir sur la dernière feuille active ?

Dans mon code, le "Sheets ("Führung").Select peut porter un autre nom selon la feuille d'où j'active les options de langues.

D'avance merci pour votre contribution.

Cordialement

Willau

Hallo !

tu peux tester ceci :

Sub ChoixFrancais()
' Effectue la modification de la langue souhaitée
Sheets("P1").Range("AG18:AG300").Copy destination :=Sheets("P1").Range("I18")
End Sub

Cher JoyeuxNoel

Merci infiniment pour cette excellente solution !! Merveilleux !!

Cela va m'éviter bon nombre de "déplacements" inutiles dans mes futurs codes.

Un grand merci pour ton efficacité.

Cordialement

Willau

Du coup, pour aller plus loin (et je dis plus loin, mais je suis débutant en VBA),

Les noms des feuilles sont amenés à changer régulièrement.

Sheets("P1").Range("AG18:AG300").Copy destination :=Sheets("P1").Range("I18")

Quand tu mets le nom en dur dans tes codes, tu te heurtes à plusieurs soucis :

Si le nom de ta feuille change, tu dois changer tous tes codes.

Si tu veux faire une boucle sur plusieurs feuilles qui se suivent, tu ne peux pas.

Il me semble que c'est une bonne habitude à prendre que de faire appel aux feuilles différemment.

feuil1.range(...)
sheets(1).range(...)

Ces 2 codes font appel à ta feuille sheets("P1") si c'est la feuille 1 de ton fichier. (pas le nom écrit dans excel, celui que tu vois dans ta fenêtre VBE, à gauche)

Mais ces 2 codes te laissent la possibilité de renommer tes feuilles sans que ça ne pose de souci, et te permettent de boucler de façon très facile sur tes feuilles.

Si d'autres personnes veulent compléter, elles sont les bienvenues !

Rechercher des sujets similaires à "revenir page active precedente fin code"