PB! Changement feuille fin macro

Bonjour le Forum,

Je rencontre un petit soucis avec une macro qui exécute la copie d'une ligne d'une feuille vers une autre en fonction de la valeur d'une cellule. Voici le code en question :

Sub dispatching_simple()

    Dim i, lg As Integer
    Dim ShS, ShD As Worksheet

Set ShS = Sheets("saisie")
Set ShD = Sheets("publi simple")
'effacement des données presente dans la feuille publisimple
If ShD.Cells(Rows.Count, "A").End(xlUp).Row > 1 Then ShD.Range("A2:M" & ShD.Cells(Rows.Count, "A").End(xlUp).Row).ClearContents
For i = 7 To ShS.Cells(Rows.Count, "P").End(xlUp).Row
If ShS.Cells(i, "P") = "publipostage simple" Then
lg = ShD.Cells(Rows.Count, "A").End(xlUp).Row + 1
ShS.Range(ShS.Cells(i, "A"), ShS.Cells(i, "F")).Copy
ShD.Cells(lg, "A").PasteSpecial Paste:=xlPasteValues
ShS.Range(ShS.Cells(i, "H"), ShS.Cells(i, "H")).Copy
ShD.Cells(lg, "G").PasteSpecial Paste:=xlPasteValues
ShS.Range(ShS.Cells(i, "J"), ShS.Cells(i, "O")).Copy
ShD.Cells(lg, "H").PasteSpecial Paste:=xlPasteValues
        End If
    Next
'efface les bordures
ShD.Range("A2:N" & ShD.Cells(Rows.Count, "A").End(xlUp).Row).Borders.LineStyle = xlNone
    End Sub

En fait, pas de soucis avec cette macro qui fait bien ce que je souhaite mais en revanche à la fin de son exécution la feuille de destination, à savoir "publi simple" s'affiche et moi je souhaiterais rester sur la feuille de travail depuis laquelle je lance la macro en question...

Si quelqu'un pouvait m'indiquer d'ou vient le problème??? ...

Merci d'avance à tous.

PS: j'ai tenté d'insérer un

Application.ScreenUpdating = False

en début et un

Application.ScreenUpdating = True

en fin mais le problème reste le même??

bonjour,

Peut-être est-ce le PasteSpécial qui force l'activation... ?

Le plus simple est de poser in ShS.Activate en fin de procédure.

...ou de mémoriser ta feuille de travail en début de Sub et la rappeler à la fin (si <> ShS)

A+

Bonjour Galopin,

Merci pour ce retour!

Donc si je suis bien il faut que je tente d'insérer "in ShS.Activate en fin de procédure? juste avant le "End Sub", c'est bien cela?

Oui, oui...

A+

C'est parfait....

Effectivement en insérant cela en fin de macro, je reste bien sur ma feuille de départ....

Juste petit soucis en arrière plan, de l'exécution de la macro : résolue par l'insertion de la ligne suivante :

[code]Application.ScreenUpdating = False

Un grand merci Galopin!! :D :D

Rechercher des sujets similaires à "changement feuille fin macro"