Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Private Sub Worksheet_Activate

4 réponses
Avatar
Sunburn
Bonjour,
lorsque je met ma macro dans ma feuille comme ça :
Private Sub Worksheet_Activate()
CopieColleValeur
End Sub
---
Sub CopieColleValeur()
Sheets("GA14").Columns("A:G").Copy
Sheets("Ga14PourCycles").Cells.PasteSpecial Paste:=xlPasteValues ',
Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Ga14PourCycles").Range("G1").ClearContents
End Sub
-----
ça plante.
mais quand j'execute ma macro toute seule, ça ne plante pas. pourquoi?
je voudrais que ma macro s'execute à chaque fois que je clic sur l'onglet
"30", même lorsque je vais sur cet onglet par cette procédure :
Merci.YANN
----
Sub CYCLE30()
CopieColleValeur
Dim F As Worksheet
Application.ScreenUpdating = False
ActiveWorkbook.Unprotect 'déprotection du classeur
For Each F In ActiveWorkbook.Worksheets
Select Case F.Name
Case "DA", "GA10", "GA11", "GA12", "GA13", "GA14", _
"30", "30_31", "30_32", "30_33", "30_34", "30_35"
F.Visible = True
F.Protect
Case Else
F.Visible = False
' F.Unprotect
End Select
Next
Sheets("30").Select
ActiveWorkbook.Protect Structure:=True
End Sub
----

4 réponses

Avatar
michdenis
Lorsque tu veux copier tes données, pourquoi ne pas préciser
une cellule à partir de laquelle le "coller" doit s'effectuer.

Sheets("Ga14PourCycles").Cells.PasteSpecial Paste:=xlPasteValues

Remplace par

Sheets("Ga14PourCycles").Range("A1").PasteSpecial xlPasteValues
ou toutes autres cellules que A1. Sauf que tu dois tenir compte
de cette restriction, ce doit être une cellule en ligne 1 puisque tu
as copié dans le presse-papier ta totalité des colonnes.



"Sunburn" a écrit dans le message de groupe de
discussion :
Bonjour,
lorsque je met ma macro dans ma feuille comme ça :
Private Sub Worksheet_Activate()
CopieColleValeur
End Sub
---
Sub CopieColleValeur()
Sheets("GA14").Columns("A:G").Copy
Sheets("Ga14PourCycles").Cells.PasteSpecial Paste:=xlPasteValues ',
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
Sheets("Ga14PourCycles").Range("G1").ClearContents
End Sub
-----
ça plante.
mais quand j'execute ma macro toute seule, ça ne plante pas. pourquoi?
je voudrais que ma macro s'execute à chaque fois que je clic sur l'onglet
"30", même lorsque je vais sur cet onglet par cette procédure :
Merci.YANN
----
Sub CYCLE30()
CopieColleValeur
Dim F As Worksheet
Application.ScreenUpdating = False
ActiveWorkbook.Unprotect 'déprotection du classeur
For Each F In ActiveWorkbook.Worksheets
Select Case F.Name
Case "DA", "GA10", "GA11", "GA12", "GA13", "GA14", _
"30", "30_31", "30_32", "30_33", "30_34", "30_35"
F.Visible = True
F.Protect
Case Else
F.Visible = False
' F.Unprotect
End Select
Next
Sheets("30").Select
ActiveWorkbook.Protect Structure:=True
End Sub
----
Avatar
Merguez07
essaye de remplacer
Sheets("Ga14PourCycles").Cells.PasteSpecial Paste:=xlPasteValues
par
Sheets("Ga14PourCycles").Cells(1, 1).PasteSpecial Paste:=xlPasteValues

xavier


"Sunburn" a écrit dans le message de
groupe de discussion :
Bonjour,
lorsque je met ma macro dans ma feuille comme ça :
Private Sub Worksheet_Activate()
CopieColleValeur
End Sub
---
Sub CopieColleValeur()
Sheets("GA14").Columns("A:G").Copy
Sheets("Ga14PourCycles").Cells.PasteSpecial Paste:=xlPasteValues ',
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
Sheets("Ga14PourCycles").Range("G1").ClearContents
End Sub
-----
ça plante.
mais quand j'execute ma macro toute seule, ça ne plante pas. pourquoi?
je voudrais que ma macro s'execute à chaque fois que je clic sur l'onglet
"30", même lorsque je vais sur cet onglet par cette procédure :
Merci.YANN
----
Sub CYCLE30()
CopieColleValeur
Dim F As Worksheet
Application.ScreenUpdating = False
ActiveWorkbook.Unprotect 'déprotection du classeur
For Each F In ActiveWorkbook.Worksheets
Select Case F.Name
Case "DA", "GA10", "GA11", "GA12", "GA13", "GA14", _
"30", "30_31", "30_32", "30_33", "30_34", "30_35"
F.Visible = True
F.Protect
Case Else
F.Visible = False
' F.Unprotect
End Select
Next
Sheets("30").Select
ActiveWorkbook.Protect Structure:=True
End Sub
----


Avatar
Sunburn
merci, et oui ....... trop la tete en l'air !!!

"michdenis" a écrit :

Lorsque tu veux copier tes données, pourquoi ne pas préciser
une cellule à partir de laquelle le "coller" doit s'effectuer.

Sheets("Ga14PourCycles").Cells.PasteSpecial Paste:=xlPasteValues

Remplace par

Sheets("Ga14PourCycles").Range("A1").PasteSpecial xlPasteValues
ou toutes autres cellules que A1. Sauf que tu dois tenir compte
de cette restriction, ce doit être une cellule en ligne 1 puisque tu
as copié dans le presse-papier ta totalité des colonnes.



"Sunburn" a écrit dans le message de groupe de
discussion :
Bonjour,
lorsque je met ma macro dans ma feuille comme ça :
Private Sub Worksheet_Activate()
CopieColleValeur
End Sub
---
Sub CopieColleValeur()
Sheets("GA14").Columns("A:G").Copy
Sheets("Ga14PourCycles").Cells.PasteSpecial Paste:=xlPasteValues ',
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
Sheets("Ga14PourCycles").Range("G1").ClearContents
End Sub
-----
ça plante.
mais quand j'execute ma macro toute seule, ça ne plante pas. pourquoi?
je voudrais que ma macro s'execute à chaque fois que je clic sur l'onglet
"30", même lorsque je vais sur cet onglet par cette procédure :
Merci.YANN
----
Sub CYCLE30()
CopieColleValeur
Dim F As Worksheet
Application.ScreenUpdating = False
ActiveWorkbook.Unprotect 'déprotection du classeur
For Each F In ActiveWorkbook.Worksheets
Select Case F.Name
Case "DA", "GA10", "GA11", "GA12", "GA13", "GA14", _
"30", "30_31", "30_32", "30_33", "30_34", "30_35"
F.Visible = True
F.Protect
Case Else
F.Visible = False
' F.Unprotect
End Select
Next
Sheets("30").Select
ActiveWorkbook.Protect Structure:=True
End Sub
----



Avatar
Sunburn
merci, et oui ....... trop la tete en l'air !!!

"Merguez07" a écrit :

essaye de remplacer
Sheets("Ga14PourCycles").Cells.PasteSpecial Paste:=xlPasteValues
par
Sheets("Ga14PourCycles").Cells(1, 1).PasteSpecial Paste:=xlPasteValues

xavier