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

Macro definir champ à géométrie variable pour l'inclure dans un ca

2 réponses
Avatar
Jean-Paul V
Bonjour
Pourquoi ma macros ne fonctionne pas le champ MyRange n'est pas reconnu dans
la fonction qui calcul un escompte à un ensemble de factures
Nota le champ Montant est le titre où sont tous les montants c'est la
première celule de la colonne et je cherche à appliquer le taux figurant dans
le champ ChoixTaux

ThisWorkbook.Names.Add "MyRange", Range(Range("Montant"), _
Range("Montant").End(xlDown).Address).Address
Application.Goto Reference:="N__Fact"
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "escompte"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "=SUM(MyRange)*-ChoixTaux"

2 réponses

Avatar
Clément Marcotte
Ça presse-tu tant que ça ?


"Jean-Paul V" <Jean-Paul a écrit dans le
message de news:
Bonjour
Pourquoi ma macros ne fonctionne pas le champ MyRange n'est pas
reconnu dans

la fonction qui calcul un escompte à un ensemble de factures
Nota le champ Montant est le titre où sont tous les montants c'est
la

première celule de la colonne et je cherche à appliquer le taux
figurant dans

le champ ChoixTaux

ThisWorkbook.Names.Add "MyRange", Range(Range("Montant"), _
Range("Montant").End(xlDown).Address).Address
Application.Goto Reference:="N__Fact"
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "escompte"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "=SUM(MyRange)*-ChoixTaux"


Avatar
michdenis
Bonjour Jean-Paul,

Il n'est pas évident de s'y retrouver lorsque tu présentes un bout de code écrit de cette manière ...

En supposant que j'ai décodé ce que tu essaies de faire, essaie ceci:

Dans la procédure PlgSomme = adresse de la plage à additionner


'-----------------------------------------
Sub FaireLaSomme()

Dim Rg1 As Range, C As Integer, Adr As String
Dim Rg As Range, PlgSomme As String

With Worksheets(Range("Montant").Parent.Name)
Adr = Range("Montant").Address
C = Range("Montant").Column
Set Rg = .Range(Adr & ":" & .Cells(65536, C).End(xlUp).Address)
PlgSomme = Rg.Parent.Name & "!" & Rg.Address
End With

With Worksheets(Range("N__Fact").Parent.Name)
r = .Cells(65536, .Range("N__Fact").Column).End(xlUp)(2).Row
Set Rg1 = .Cells(r, .Range("N__Fact").Column)
End With

With Rg1
If InStr(1, .Offset(-1, 1).Formula, "SUM", vbTextCompare) <> 0 Then
Set Rg1 = .Offset(-1)
End If
End With

Rg1 = "Escompte"
Rg1.Offset(, 1).Formula = "=SUM(" & PlgSomme & ")*-ChoixTaux"
Set Rg = Nothing: Set Rg1 = Nothing

End Sub
'----------------------------------------



Salutations!






"Jean-Paul V" <Jean-Paul a écrit dans le message de
news:
Bonjour
Pourquoi ma macros ne fonctionne pas le champ MyRange n'est pas reconnu dans
la fonction qui calcul un escompte à un ensemble de factures
Nota le champ Montant est le titre où sont tous les montants c'est la
première celule de la colonne et je cherche à appliquer le taux figurant dans
le champ ChoixTaux

ThisWorkbook.Names.Add "MyRange", Range(Range("Montant"), _
Range("Montant").End(xlDown).Address).Address
Application.Goto Reference:="N__Fact"
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "escompte"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "=SUM(MyRange)*-ChoixTaux"