Macro definir champ à géométrie variable pour l'inclure dans un ca
2 réponses
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
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
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 V@discussions.microsoft.com> a écrit dans le message de
news:641585B3-2DFE-4C44-88E4-FEC1D2C9B2EF@microsoft.com...
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
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