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

Macro feuille précédente

5 réponses
Avatar
Tibert
Bonjour ;
J’aurais aimé savoir comment renseigner ma macro pour qu’elle fonctionne
avec la feuille précédente.
Explication : j’ai fait une macro sur une feuille qui fait des calcules avec
la feuille précédente nommé ici ('Tarif du 01-01') comment que je pourrais
faire pour que ces formules calcul avec sa feuille précédente sans lui donné
un nom, pour quand je fait une copie de ces deux feuilles le calcul se fait
toujours avec la feuille précédente.
Salutations.


ActiveCell.FormulaR1C1 = _
"=+(R5C6*'Tarif du 01-01'!R[45]C[-6])/'Tarif du 01-01'!RC[-6]"
Range("H6").Select
Selection.Copy
Range("H7:H48").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-48
Range("M6").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = _
"=+(R5C11*'Tarif du 01-01'!R[45]C[-10])/'Tarif du 01-01'!RC[-10]"
Range("M6").Select
Selection.Copy
Range("M7:M48").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-48
Range("R6").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = _

5 réponses

Avatar
JLuc
Tibert avait soumis l'idée :
Bonjour ;
J’aurais aimé savoir comment renseigner ma macro pour qu’elle fonctionne
avec la feuille précédente.
Explication : j’ai fait une macro sur une feuille qui fait des calcules avec
la feuille précédente nommé ici ('Tarif du 01-01') comment que je pourrais
faire pour que ces formules calcul avec sa feuille précédente sans lui donné
un nom, pour quand je fait une copie de ces deux feuilles le calcul se fait
toujours avec la feuille précédente.
Salutations.


Assez simplement, je pense ;-)
Dans le Thisworkbook, evenement :

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MaDerniereFeuille = Sh.Name
End Sub

tu sauves le nom de la feuille

--
JLuc

Avatar
Tibert
Je ne comprend pas trop bien ta réponse, sachant que j'ai mis la formule dans
Thisworkbook du visual Basic aprés ? ? ?
Il faut savoir que mon fichier comporte environ une centaines de feuilles
c'est à dire deux par semaine !


Tibert avait soumis l'idée :
Bonjour ;
J’aurais aimé savoir comment renseigner ma macro pour qu’elle fonctionne
avec la feuille précédente.
Explication : j’ai fait une macro sur une feuille qui fait des calcules avec
la feuille précédente nommé ici ('Tarif du 01-01') comment que je pourrais
faire pour que ces formules calcul avec sa feuille précédente sans lui donné
un nom, pour quand je fait une copie de ces deux feuilles le calcul se fait
toujours avec la feuille précédente.
Salutations.


Assez simplement, je pense ;-)
Dans le Thisworkbook, evenement :

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MaDerniereFeuille = Sh.Name
End Sub

tu sauves le nom de la feuille

--
JLuc






Avatar
JLuc
*Bonjour Tibert*,
C'est assez simple, dans un module standart, tu declares une variable :
(en entête de module pour être visible de partout)

Dim MaDerniereFeuille As String

Dans le ThisWorkbook :

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
MaDerniereFeuille = Sh.Name
End Sub

Dans la (les) macros(s), tu utilises la variable :

Sub Essai()
'Agira sur la derniere feuille quittée
'Pour lancer à l'ouverture, prevoir dans le ThisWorkbook une procédure
'Workbook_Open pour initialiser la variable
Sheets(MaDerniereFeuille).Range("A1") = "Pour essai"
End Sub

Je ne comprend pas trop bien ta réponse, sachant que j'ai mis la formule dans
Thisworkbook du visual Basic aprés ? ? ?
Il faut savoir que mon fichier comporte environ une centaines de feuilles
c'est à dire deux par semaine !


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
papou
Bonjour
A partir de ta feuille (celle qui fait les calculs) :
MsgBox Worksheets("TaFeuilleQuiFaitLesCalculs").Previous.Name

Cordialement
Pascal

"Tibert" a écrit dans le message de news:

Bonjour ;
J'aurais aimé savoir comment renseigner ma macro pour qu'elle fonctionne
avec la feuille précédente.
Explication : j'ai fait une macro sur une feuille qui fait des calcules
avec
la feuille précédente nommé ici ('Tarif du 01-01') comment que je pourrais
faire pour que ces formules calcul avec sa feuille précédente sans lui
donné
un nom, pour quand je fait une copie de ces deux feuilles le calcul se
fait
toujours avec la feuille précédente.
Salutations.


ActiveCell.FormulaR1C1 = _
"=+(R5C6*'Tarif du 01-01'!R[45]C[-6])/'Tarif du 01-01'!RC[-6]"
Range("H6").Select
Selection.Copy
Range("H7:H48").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
ActiveWindow.SmallScroll Down:=-48
Range("M6").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = _
"=+(R5C11*'Tarif du 01-01'!R[45]C[-10])/'Tarif du 01-01'!RC[-10]"
Range("M6").Select
Selection.Copy
Range("M7:M48").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
ActiveWindow.SmallScroll Down:=-48
Range("R6").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = _



Avatar
papou
Re
Petite précision :
Eventuellement ajouter une gestion d'erreur pour le cas où il n'y aura pas
de feuille devant :

On Error Resume Next
MsgBox Worksheets("TaFeuilleQuiFaitLesCalculs").Previous.Name
If Err <> 0 Then
Msgbox "Il n'y a pas de feuille avant",VbInformation
End If
On Error Goto 0

Cordialement
Pascal

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
A partir de ta feuille (celle qui fait les calculs) :
MsgBox Worksheets("TaFeuilleQuiFaitLesCalculs").Previous.Name

Cordialement
Pascal

"Tibert" a écrit dans le message de
news:
Bonjour ;
J'aurais aimé savoir comment renseigner ma macro pour qu'elle fonctionne
avec la feuille précédente.
Explication : j'ai fait une macro sur une feuille qui fait des calcules
avec
la feuille précédente nommé ici ('Tarif du 01-01') comment que je
pourrais
faire pour que ces formules calcul avec sa feuille précédente sans lui
donné
un nom, pour quand je fait une copie de ces deux feuilles le calcul se
fait
toujours avec la feuille précédente.
Salutations.


ActiveCell.FormulaR1C1 = _
"=+(R5C6*'Tarif du 01-01'!R[45]C[-6])/'Tarif du 01-01'!RC[-6]"
Range("H6").Select
Selection.Copy
Range("H7:H48").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
ActiveWindow.SmallScroll Down:=-48
Range("M6").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = _
"=+(R5C11*'Tarif du 01-01'!R[45]C[-10])/'Tarif du 01-01'!RC[-10]"
Range("M6").Select
Selection.Copy
Range("M7:M48").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
ActiveWindow.SmallScroll Down:=-48
Range("R6").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = _