Execution macro à l'ouverture d'une feuille
Bonjour
Ceci est mon premier poste sur ce forum.
Je me suis inspiré d'uen macro porposé ICI :https://forum.excel-pratique.com/excel/macro-copier-coller-valeur-37269#p209722
J'espérais quelle s'active automatiquement lorsque je sélectionne la feuille "Modification des propriétées" mais ça ne fonctionne pas. Obliger de la lancer manuellement.
Ci dessous mon code
Private Sub Worksheet_Activate()
Coller_Valeur_dans_feuille2
End Sub
Sub Coller_Valeur_dans_feuille2()
With Sheets("Lecture des propriétées")
.Range("B2:B2000").Copy
Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range("F2:F2000").Copy
Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range("K2:K2000").Copy
Range("C2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range("P2:P2000").Copy
Range("D2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range("D2:E2000").Copy
Range("F2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range("G2:J2000").Copy
Range("H2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range("L2:O2000").Copy
Range("L2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range("Q2:U2000").Copy
Range("P2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End With
End SubPouvez vous m'aiguiller?
Merci, Legnano.
Bonjour Legnago et bienvenu, bonjour le forum,
Si tu veux quelle se lance quand tu actives l'onglet Modification des propriétés il te faut la mettre dans cet onglet précisément et, pour éviter les éventuelles galères, directement le code dans l'événementielle Activate
Private Sub Worksheet_Activate()
With Sheets("Lecture des propriétées")
.Range("B2:B2000").Copy
Me.Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range("F2:F2000").Copy
Me.Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range("K2:K2000").Copy
Me.Range("C2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range("P2:P2000").Copy
Me.Range("D2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range("D2:E2000").Copy
Me.Range("F2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range("G2:J2000").Copy
Me.Range("H2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range("L2:O2000").Copy
Me.Range("L2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Me.Range("Q2:U2000").Copy
Range("P2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End With
End Sub[Édition]
Enlève les e à propriétées dans le nom des onglets et dans le code, ça sera mieux...
Merci ! Je vais tester ça rapidement.
Enlève les e à propriétées dans le nom des onglets et dans le code, ça sera mieux...
La première impression est décisive parait-il... Pas de secret, je suis une m**** en orthographe...
Bon, je vois pas bien comment on fait pour attribuer la macro a une feuille en particulier... (je suis vraiment débutant)
Vous pouvez me guider?
Re,
1. Copier le code
2. Bouton droit de la souris sur l'onglet en question (en bas)
3. Option : Visualiser le code
4. Coller le code
Super, ça marche !
Demain j'ouvre un autre poste pour améliorer encore mon tableau...
Merci ; )