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

Boucle pour défnir Array sous-totaux

5 réponses
Avatar
lydya Web
Bonjour,

Je souhaiterais dans une macro d=E9finir automatiquement les colonnes
qui constituent l'array de mes sous-totaux, le nombre de colonnes
=E9tant variable, et je s=E8che...

Selection.Subtotal GroupBy:=3DRange("Sal_Dpt").Column,
Function:=3DxlSum, _
TotalList:=3DArray(Arr), Replace:=3DTrue, PageBreaks:=3DFalse,
SummaryBelowData:=3DTrue

J'aimerais d=E9finir automatiquement ma variable (Arr) (cad la liste des
index de colonnes s=E9par=E9s par des virgules) =E0 partir de la plage
suivante:
Range("Sal01012007").Column To Range("PlageSousTotaux").Columns.Count

Pouvez-vous m'aider?

Merci beaucoup,
Lydya

5 réponses

Avatar
FFO
Salut à toi
Quelque chose comme ceci :

For i = Range("Sal01012007").Column To
Range("PlageSousTotaux").Columns.Count
Arr = Arr & i & ","
Next
Arr = Mid(Arr, 1, Len(Arr) - 1)

en ayant défini tes plages "Sal01012007" et "PlageSousTotaux" de
maniére appropriée

Celà devrait faire

Dis moi !!!!!!
Avatar
lydya Web
On 15 oct, 14:29, FFO wrote:
Salut à toi
Quelque chose comme ceci :

For i = Range("Sal01012007").Column To
Range("PlageSousTotaux").Columns.Count
Arr = Arr & i & ","
Next
Arr = Mid(Arr, 1, Len(Arr) - 1)

en ayant défini tes plages "Sal01012007" et "PlageSousTotaux" de
maniére appropriée

Celà devrait faire

Dis moi !!!!!!




Merci pour ton aide qui m'avance déjà bien puisque la boucle tourne
bien (!) mais j'ai une erreur d'exécution "Subtotal method of range
class failed" sur la ligne du sous-total.
C'est peut-être à cause des guillemets autour des index de colonnes de
la variable Arr, que j'ai définie comme string...
Qu'en penses-tu?
Merci!!!
Avatar
FFO
Rebonjour à toi
Il m'est difficile de répondre comme celà sans avoir le code intégral
et le document
Peux tu me le fournir ici :
http://www.cijoint.fr/index.php
sans donnée confidentielle
Communiques moi le lien pour le récupérer
Avatar
lydya Web
C'est gentil mais il n'y a que des données confidentielles dans mon
classeur et de nombreuses macros... trop long d'élaguer.

Je vais tâcher de me débrouiller.

Merci encore.

Lydya


On 15 oct, 15:14, FFO wrote:
Rebonjour à toi
Il m'est difficile de répondre comme celà sans avoir le code intégr al
et le document
Peux tu me le fournir ici :http://www.cijoint.fr/index.php
sans donnée confidentielle
Communiques moi le lien pour le récupérer
Avatar
lydya Web
J'ai trouvé dans les archives ce code de Dave Peterson que j'ai pu
utiliser:
--
Option Explicit
Sub testme()
Dim myArr() As Long
Dim iCtr As Long
Dim MaxCols As Long

MaxCols = 12 'say

ReDim myArr(4 To MaxCols)

For iCtr = 4 To MaxCols
myArr(iCtr) = iCtr
Next iCtr

' ....TotalList:=myarr, ....

End Sub
--

Bonne soirée,
Lydya