copie d'un objet dans un onglet non visible

Le
Bonjour

Voici la formule que j'utilise aujourd'hui pour copier une image dans
plusieurs onglets du même fichier.

Comment faire pour que l'image se copie même si la feuille n'est pas visible
?
Comment aussi controler l'existence de la feuille ?

Merci

Sheets("feuil1").Select
ActiveSheet.Shapes("Image 6").Select
Selection.Copy
Range("H131").Select
ActiveSheet.Paste

If Sheets("feuil2").Visible = True Then
Sheets("feuil2").Select
Range("I42").Select
ActiveSheet.Paste
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #22571431
Salut à toi
Tu pourrais utiliser une boucle ainsi :

For i = 1 to Sheets.Count
If Sheets(i).Name = "Mafeuille" Then
If Sheets(i).Visible = False Then
Sheets(i).Visible = True
Range("H131").Activate
ActiveSheet.Paste
Sheets(i).Visible = False
Else
Range("H131").Activate
ActiveSheet.Paste
End If
Exit For
End If
Next

Je vérifie la présence de "Mafeuille"
Si elle est masquée je la démasque, je colle et je la remasque sinon
je colle

Celà devrait fonctionner

Dis moi !!!!!
Le #22571571
Merci pour cette réponse

Rendre visible la feuille puis la recacher est une solution.
Par contre auriez vous une autre idée pour le test d'existence d'une feuille
?

Merci


"FFO"
Salut à toi
Tu pourrais utiliser une boucle ainsi :

For i = 1 to Sheets.Count
If Sheets(i).Name = "Mafeuille" Then
If Sheets(i).Visible = False Then
Sheets(i).Visible = True
Range("H131").Activate
ActiveSheet.Paste
Sheets(i).Visible = False
Else
Range("H131").Activate
ActiveSheet.Paste
End If
Exit For
End If
Next

Je vérifie la présence de "Mafeuille"
Si elle est masquée je la démasque, je colle et je la remasque sinon
je colle

Celà devrait fonctionner

Dis moi !!!!!
Jacky
Le #22571781
Bonjour,

Cela pourrait ressembler à ceci
Créé la feuille si elle n'existe pas
A adapter
'-------------------
Sub jj()
Sheets("Feuil1").Shapes("Image 1").Copy
fiches = Array("test", "test1", "test2", "test3")
For Each sh In fiches
On Error Resume Next
Sheets(sh).Activate
If Err <> 0 Then
Sheets.Add.Name = sh
End If
ActiveSheet.Paste
Next
End Sub
'-------------------
Nb:La feuille source n"a nullement besoin d"être visible

--
Salutations
JJ


a écrit dans le message de news: 4c908a02$0$12642$
Merci pour cette réponse

Rendre visible la feuille puis la recacher est une solution.
Par contre auriez vous une autre idée pour le test d'existence d'une feuille ?

Merci


"FFO"
Salut à toi
Tu pourrais utiliser une boucle ainsi :

For i = 1 to Sheets.Count
If Sheets(i).Name = "Mafeuille" Then
If Sheets(i).Visible = False Then
Sheets(i).Visible = True
Range("H131").Activate
ActiveSheet.Paste
Sheets(i).Visible = False
Else
Range("H131").Activate
ActiveSheet.Paste
End If
Exit For
End If
Next

Je vérifie la présence de "Mafeuille"
Si elle est masquée je la démasque, je colle et je la remasque sinon
je colle

Celà devrait fonctionner

Dis moi !!!!!

Le #22572041
Merci tout d'abord , j'ai adapté votre proposition comme suit car je
souhaite que l'objet soit copié à un endroit précis. mais rien ne se produit
??

ou est mon erreur merci

Sheets("feuil1").Shapes("Image 6").Copy
fiches = Array("feuil2", "feuil3", "feuil4")
For Each Sh In fiches
On Error Resume Next
Sheets(Sh).Activate
If Err = 0 Then
ActiveSheet.Range("H131").Paste
End If
Next


"Jacky" i6q5hn$j87$
Bonjour,

Cela pourrait ressembler à ceci
Créé la feuille si elle n'existe pas
A adapter
'-------------------
Sub jj()
Sheets("Feuil1").Shapes("Image 1").Copy
fiches = Array("test", "test1", "test2", "test3")
For Each sh In fiches
On Error Resume Next
Sheets(sh).Activate
If Err <> 0 Then
Sheets.Add.Name = sh
End If
ActiveSheet.Paste
Next
End Sub
'-------------------
Nb:La feuille source n"a nullement besoin d"être visible

--
Salutations
JJ


a écrit dans le message de news:
4c908a02$0$12642$
Merci pour cette réponse

Rendre visible la feuille puis la recacher est une solution.
Par contre auriez vous une autre idée pour le test d'existence d'une
feuille ?

Merci


"FFO"
Salut à toi
Tu pourrais utiliser une boucle ainsi :

For i = 1 to Sheets.Count
If Sheets(i).Name = "Mafeuille" Then
If Sheets(i).Visible = False Then
Sheets(i).Visible = True
Range("H131").Activate
ActiveSheet.Paste
Sheets(i).Visible = False
Else
Range("H131").Activate
ActiveSheet.Paste
End If
Exit For
End If
Next

Je vérifie la présence de "Mafeuille"
Si elle est masquée je la démasque, je colle et je la remasque sinon
je colle

Celà devrait fonctionner

Dis moi !!!!!





Jacky
Le #22572081
R...
Que se passe 't-il avec ceci
'--------------
Sub jj()
Sheets("Feuil1").Shapes("Image 1").Copy
fiches = Array("feuil2", "feuil3", "feuil4")
For Each Sh In fiches
On Error Resume Next
Sheets(Sh).Paste
Next
End Sub
'----------------
Sinon copier la cellule plutot que l'image


Absent jusqu'a ce soir
--
Salutations
JJ


a écrit dans le message de news: 4c90aa82$0$578$
Merci tout d'abord , j'ai adapté votre proposition comme suit car je souhaite que l'objet soit copié à un
endroit précis. mais rien ne se produit ??

ou est mon erreur merci

Sheets("feuil1").Shapes("Image 6").Copy
fiches = Array("feuil2", "feuil3", "feuil4")
For Each Sh In fiches
On Error Resume Next
Sheets(Sh).Activate
If Err = 0 Then
ActiveSheet.Range("H131").Paste
End If
Next


"Jacky"
Bonjour,

Cela pourrait ressembler à ceci
Créé la feuille si elle n'existe pas
A adapter
'-------------------
Sub jj()
Sheets("Feuil1").Shapes("Image 1").Copy
fiches = Array("test", "test1", "test2", "test3")
For Each sh In fiches
On Error Resume Next
Sheets(sh).Activate
If Err <> 0 Then
Sheets.Add.Name = sh
End If
ActiveSheet.Paste
Next
End Sub
'-------------------
Nb:La feuille source n"a nullement besoin d"être visible

--
Salutations
JJ


a écrit dans le message de news: 4c908a02$0$12642$
Merci pour cette réponse

Rendre visible la feuille puis la recacher est une solution.
Par contre auriez vous une autre idée pour le test d'existence d'une feuille ?

Merci


"FFO"
Salut à toi
Tu pourrais utiliser une boucle ainsi :

For i = 1 to Sheets.Count
If Sheets(i).Name = "Mafeuille" Then
If Sheets(i).Visible = False Then
Sheets(i).Visible = True
Range("H131").Activate
ActiveSheet.Paste
Sheets(i).Visible = False
Else
Range("H131").Activate
ActiveSheet.Paste
End If
Exit For
End If
Next

Je vérifie la présence de "Mafeuille"
Si elle est masquée je la démasque, je colle et je la remasque sinon
je colle

Celà devrait fonctionner

Dis moi !!!!!









Le #22572181
Désolé j'ai du m'absenter

La copie se fait correctement mais sans précision de la cellule de
destination


"Jacky" i6qahu$3qr$
R...
Que se passe 't-il avec ceci
'--------------
Sub jj()
Sheets("Feuil1").Shapes("Image 1").Copy
fiches = Array("feuil2", "feuil3", "feuil4")
For Each Sh In fiches
On Error Resume Next
Sheets(Sh).Paste
Next
End Sub
'----------------
Sinon copier la cellule plutot que l'image


Absent jusqu'a ce soir
--
Salutations
JJ


a écrit dans le message de news:
4c90aa82$0$578$
Merci tout d'abord , j'ai adapté votre proposition comme suit car je
souhaite que l'objet soit copié à un endroit précis. mais rien ne se
produit ??

ou est mon erreur merci

Sheets("feuil1").Shapes("Image 6").Copy
fiches = Array("feuil2", "feuil3", "feuil4")
For Each Sh In fiches
On Error Resume Next
Sheets(Sh).Activate
If Err = 0 Then
ActiveSheet.Range("H131").Paste
End If
Next


"Jacky" i6q5hn$j87$
Bonjour,

Cela pourrait ressembler à ceci
Créé la feuille si elle n'existe pas
A adapter
'-------------------
Sub jj()
Sheets("Feuil1").Shapes("Image 1").Copy
fiches = Array("test", "test1", "test2", "test3")
For Each sh In fiches
On Error Resume Next
Sheets(sh).Activate
If Err <> 0 Then
Sheets.Add.Name = sh
End If
ActiveSheet.Paste
Next
End Sub
'-------------------
Nb:La feuille source n"a nullement besoin d"être visible

--
Salutations
JJ


a écrit dans le message de news:
4c908a02$0$12642$
Merci pour cette réponse

Rendre visible la feuille puis la recacher est une solution.
Par contre auriez vous une autre idée pour le test d'existence d'une
feuille ?

Merci


"FFO"
Salut à toi
Tu pourrais utiliser une boucle ainsi :

For i = 1 to Sheets.Count
If Sheets(i).Name = "Mafeuille" Then
If Sheets(i).Visible = False Then
Sheets(i).Visible = True
Range("H131").Activate
ActiveSheet.Paste
Sheets(i).Visible = False
Else
Range("H131").Activate
ActiveSheet.Paste
End If
Exit For
End If
Next

Je vérifie la présence de "Mafeuille"
Si elle est masquée je la démasque, je colle et je la remasque sinon
je colle

Celà devrait fonctionner

Dis moi !!!!!













isabelle
Le #22572481
bonjour stef,

Sub jj()
Sheets("Feuil1").Shapes("Picture 1").Copy
fiches = Array("Feuil2", "Feuil3", "Feuil4")
For Each Sh In fiches
Application.Goto Sheets(Sh).Range("F2")
Sheets(Sh).Paste
Next
End Sub

isabelle

Le 2010-09-15 07:55, a écrit :
Désolé j'ai du m'absenter

La copie se fait correctement mais sans précision de la cellule de
destination


"Jacky" i6qahu$3qr$
R...
Que se passe 't-il avec ceci
'--------------
Sub jj()
Sheets("Feuil1").Shapes("Image 1").Copy
fiches = Array("feuil2", "feuil3", "feuil4")
For Each Sh In fiches
On Error Resume Next
Sheets(Sh).Paste
Next
End Sub
'----------------
Sinon copier la cellule plutot que l'image


Absent jusqu'a ce soir
--
Salutations
JJ


a écrit dans le message de news:
4c90aa82$0$578$
Merci tout d'abord , j'ai adapté votre proposition comme suit car je
souhaite que l'objet soit copié à un endroit précis. mais rien ne se
produit ??

ou est mon erreur merci

Sheets("feuil1").Shapes("Image 6").Copy
fiches = Array("feuil2", "feuil3", "feuil4")
For Each Sh In fiches
On Error Resume Next
Sheets(Sh).Activate
If Err = 0 Then
ActiveSheet.Range("H131").Paste
End If
Next


"Jacky" i6q5hn$j87$
Bonjour,

Cela pourrait ressembler à ceci
Créé la feuille si elle n'existe pas
A adapter
'-------------------
Sub jj()
Sheets("Feuil1").Shapes("Image 1").Copy
fiches = Array("test", "test1", "test2", "test3")
For Each sh In fiches
On Error Resume Next
Sheets(sh).Activate
If Err<> 0 Then
Sheets.Add.Name = sh
End If
ActiveSheet.Paste
Next
End Sub
'-------------------
Nb:La feuille source n"a nullement besoin d"être visible

--
Salutations
JJ


a écrit dans le message de news:
4c908a02$0$12642$
Merci pour cette réponse

Rendre visible la feuille puis la recacher est une solution.
Par contre auriez vous une autre idée pour le test d'existence d'une
feuille ?

Merci


"FFO"
Salut à toi
Tu pourrais utiliser une boucle ainsi :

For i = 1 to Sheets.Count
If Sheets(i).Name = "Mafeuille" Then
If Sheets(i).Visible = False Then
Sheets(i).Visible = True
Range("H131").Activate
ActiveSheet.Paste
Sheets(i).Visible = False
Else
Range("H131").Activate
ActiveSheet.Paste
End If
Exit For
End If
Next

Je vérifie la présence de "Mafeuille"
Si elle est masquée je la démasque, je colle et je la remasque sinon
je colle

Celà devrait fonctionner

Dis moi !!!!!

















Le #22572471
merci, j'avais commencé par modifié la procédure comme ci-dessous mais elle
était aléatoire dans l'onglet.

La votre semble fonctionner parfaitement

Sub ja()
Sheets("feui11").Shapes("Image 6").Copy
fiches = Array("feuil2", "feuil3", "feuil4")
For Each Sh In fiches
On Error Resume Next
If Sheets(Sh).Name = "Feuil2" Then
Sheets(Sh).Range("H131").Activate
Sheets(Sh).Paste
ElseIf Sheets(Sh).Name = "Feuil3" Then...................


"isabelle" i6qfbe$ct4$
bonjour stef,

Sub jj()
Sheets("Feuil1").Shapes("Picture 1").Copy
fiches = Array("Feuil2", "Feuil3", "Feuil4")
For Each Sh In fiches
Application.Goto Sheets(Sh).Range("F2")
Sheets(Sh).Paste
Next
End Sub

isabelle

Le 2010-09-15 07:55, a écrit :
Désolé j'ai du m'absenter

La copie se fait correctement mais sans précision de la cellule de
destination


"Jacky" i6qahu$3qr$
R...
Que se passe 't-il avec ceci
'--------------
Sub jj()
Sheets("Feuil1").Shapes("Image 1").Copy
fiches = Array("feuil2", "feuil3", "feuil4")
For Each Sh In fiches
On Error Resume Next
Sheets(Sh).Paste
Next
End Sub
'----------------
Sinon copier la cellule plutot que l'image


Absent jusqu'a ce soir
--
Salutations
JJ


a écrit dans le message de news:
4c90aa82$0$578$
Merci tout d'abord , j'ai adapté votre proposition comme suit car je
souhaite que l'objet soit copié à un endroit précis. mais rien ne se
produit ??

ou est mon erreur merci

Sheets("feuil1").Shapes("Image 6").Copy
fiches = Array("feuil2", "feuil3", "feuil4")
For Each Sh In fiches
On Error Resume Next
Sheets(Sh).Activate
If Err = 0 Then
ActiveSheet.Range("H131").Paste
End If
Next


"Jacky" i6q5hn$j87$
Bonjour,

Cela pourrait ressembler à ceci
Créé la feuille si elle n'existe pas
A adapter
'-------------------
Sub jj()
Sheets("Feuil1").Shapes("Image 1").Copy
fiches = Array("test", "test1", "test2", "test3")
For Each sh In fiches
On Error Resume Next
Sheets(sh).Activate
If Err<> 0 Then
Sheets.Add.Name = sh
End If
ActiveSheet.Paste
Next
End Sub
'-------------------
Nb:La feuille source n"a nullement besoin d"être visible

--
Salutations
JJ


a écrit dans le message de news:
4c908a02$0$12642$
Merci pour cette réponse

Rendre visible la feuille puis la recacher est une solution.
Par contre auriez vous une autre idée pour le test d'existence d'une
feuille ?

Merci


"FFO"
Salut à toi
Tu pourrais utiliser une boucle ainsi :

For i = 1 to Sheets.Count
If Sheets(i).Name = "Mafeuille" Then
If Sheets(i).Visible = False Then
Sheets(i).Visible = True
Range("H131").Activate
ActiveSheet.Paste
Sheets(i).Visible = False
Else
Range("H131").Activate
ActiveSheet.Paste
End If
Exit For
End If
Next

Je vérifie la présence de "Mafeuille"
Si elle est masquée je la démasque, je colle et je la remasque sinon
je colle

Celà devrait fonctionner

Dis moi !!!!!

















isabelle
Le #22572561
bonjour stef,

si tu veut enlever le focus sur l'image,

Sub jj()
Sheets("Feuil1").Shapes("Picture 1").Copy
fiches = Array("Feuil2", "Feuil3", "Feuil4")
For Each Sh In fiches
Application.Goto Sheets(Sh).Range("F2")
Sheets(Sh).Paste
Application.Goto Sheets(Sh).Range("A1")
Next
End Sub

isabelle
Le #22572641
merci pour cette indication.
Je continue à profiter de votre gentillesse.

Seriez vous comment en gardant le focus ou non sur l'image comment je
pourrais modifier sa hauteur en la faisant varier de 70% à 30% par exemple

merci


"isabelle" i6qgk5$fp9$
bonjour stef,

si tu veut enlever le focus sur l'image,

Sub jj()
Sheets("Feuil1").Shapes("Picture 1").Copy
fiches = Array("Feuil2", "Feuil3", "Feuil4")
For Each Sh In fiches
Application.Goto Sheets(Sh).Range("F2")
Sheets(Sh).Paste
Application.Goto Sheets(Sh).Range("A1")
Next
End Sub

isabelle

Publicité
Poster une réponse
Anonyme