retour sur feuille d'origine après macro

seagull

XLDnaute Nouveau
Bonjour,
J'ai un soucis avec une macro:
j'ai 4 feuilles dans un classeur(1,2,3,4) ; un bouton dans chaque feuille 1,2,4 qui execute la meme macro en feuille 3, comment faire pour revenir sur la feuille d'ou a été lancé la macro.
ainsi, je lance la macro depuis le bouton de la feuille 1, le macro s'execute en feuille 3 et revient en feuille 1.
je lance la macro depuis le bouton de la feuille 2, le macro s'execute en feuille 3 et revient en feuille 2.
je lance la macro depuis le bouton de la feuille 4, le macro s'execute en feuille 3 et revient en feuille 4.
la macro sert a changer des valeurs de cellules dans la feuille 3

merci de votre aide
 

Papou-net

XLDnaute Barbatruc
Re : retour sur feuille d'origine après macro

Bonjour seagull, bhbh,

RE seagull,

Bien que je partage totalement l'avis de bhbh (il est rarement indispensable d'activer une feuille pour y apporter des modifications), je suppose que tu désires visualiser les changements apportés sur la feuille 3.

Je joins donc un fichier exemple de ce qu'il est possible de faire dans cette optique.

Espérant avoir aidé.

Cordialement.
 

Pièces jointes

  • seagull.xls
    38 KB · Affichages: 120

laurent950

XLDnaute Accro
Re : retour sur feuille d'origine après macro

Bonjour,

Voici le code que je vous propose

Sub test()

For Each sh In ActiveWindow.SelectedSheets
x = sh.Name
Next


If x = "Feuil1" Then
Worksheets("Feuil3").Activate
Range("A1") = "Feuil1"
Worksheets("Feuil1").Select
ElseIf x = "Feuil2" Then
Worksheets("Feuil3").Activate
Range("B1") = "Feuil2"
Worksheets("Feuil2").Select
ElseIf x = "Feuil4" Then
Worksheets("Feuil3").Activate
Range("C1") = "Feuil4"
Worksheets("Feuil4").Select
Else

End If
End Sub


je ne sais pas si cela correspond mais peut être que cela si rapproche

Cordialement
 

seagull

XLDnaute Nouveau
Re : retour sur feuille d'origine après macro

Bonjour à tous et merci pour vos réponses rapides, mon problème est maintenant résolu!;)
je joins un fichier qui illustre bien ce que je voulais faire (c'est un exemple)ou j'ai appliqué le code de Laurent950 et qui pourra servir à d'éventuels internautes.
merci encore :)
 

Pièces jointes

  • exemple.xlsm
    46.4 KB · Affichages: 148
  • exemple.xlsm
    46.4 KB · Affichages: 149
  • exemple.xlsm
    46.4 KB · Affichages: 144

seagull

XLDnaute Nouveau
Re : retour sur feuille d'origine après macro

Bonjour,
Je reviens sur le sujet car, même si mon problème est résolu, j'ai été interpellé par la remarque de "bhbh". Effectivement, je n'ai pas besoin de visualiser ce qui se passe dans le déroulement de la macro mais la solution de "laurent950"fonctionne et, comme j'ai peu d'actions dans la macro, ça me va.
toutefois, pour d'autres applications ou l'écran virevolte dans tous les sens je serais intéréssé par la marche à suivre pour modifier une cellule dans un autre onglet sans y aller (par exemple).
merci;)
 

Cousinhub

XLDnaute Barbatruc
Re : retour sur feuille d'origine après macro

Bonjour,

Comme suggéré, il te suffisait de mettre ton code ici....(mais tout n'est pas perdu, loin de là....;))

Sache qu'avec les instructions "With...." et "And With", nul besoin de sélectionner quoi que ce soit....

A toi de voir...

Bon courage
 

seagull

XLDnaute Nouveau
Re : retour sur feuille d'origine après macro

Bonjour bhbh:eek:,
ci dessous 2 petites macros (il yen a 6 dans mon classeur) qui s'executent dans la feuille 3 mais qui peuvent être appelées via des boutons en feuilles 1, 2 ou 4. Peux-tu modifier ce code pour faire la modif en feuille 3 sans y aller, donc si je suis en feuille1 (par exemple), j'appele la macrobout2 mais pendant le déroulement de la macro en feuille 3, rien n'est visible à l'écran et je reste en feuille 1. Comme je te le disais, pour cet exemple cela n'est pas indispensable car l'execution est rapide mais j'ai d'autres macros plus complexes ou l'écran vacille un certain temps pendant le déroulement et c'est disgracieux.
merci;)

'les macros macrobout2, 3, 4, 5 et 6 sont appelées depuis feuil1, 2 ou 4
Sub macrobout2()

Sheets("feuill3").Select
Range("A2").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
If Cells(3, 1).Value = 5 Then

ActiveCell.FormulaR1C1 = "=TODAY()-4"
ElseIf Cells(3, 1).Value = 4 Then

ActiveCell.FormulaR1C1 = "=TODAY()-3"
ElseIf Cells(3, 1).Value = 3 Then

ActiveCell.FormulaR1C1 = "=TODAY()-2"
ElseIf Cells(3, 1).Value = 2 Then

ActiveCell.FormulaR1C1 = "=TODAY()-1"
End If

End Sub


Sub macrobout3()

Sheets("feuill3").Select
Range("A2").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
If Cells(3, 1).Value = 5 Then

ActiveCell.FormulaR1C1 = "=TODAY()-3"
ElseIf Cells(3, 1).Value = 4 Then

ActiveCell.FormulaR1C1 = "=TODAY()-2"
ElseIf Cells(3, 1).Value = 3 Then

ActiveCell.FormulaR1C1 = "=TODAY()-1"
ElseIf Cells(3, 1).Value = 1 Then

ActiveCell.FormulaR1C1 = "=TODAY()+1"
End If

End Sub
 

Discussions similaires

Réponses
4
Affichages
260
Réponses
3
Affichages
329

Statistiques des forums

Discussions
312 779
Messages
2 092 046
Membres
105 168
dernier inscrit
makari69