OVH Cloud OVH Cloud

somme d'une plage

3 réponses
Avatar
Fred40
Bonjour,

Je suis novice dans la mise en place de macro et je consulte souvent ce
forum dans lequel je trouve de nombreuses réponses.

Je vous soumet mon souci.

J'ai une macro qui appelle une feuille de données mensuelle sur laquelle
j'effectue diverses opérations. La colonne I contient un nombre de ligne qui
varie tous les mois. Je veux faire la somme de ces données dans une cellule
de la feuille. J'ai écrit ce code qui me renvoit l'erreur "#NOM?"

Range("A:A").End(xlDown).Select
ActiveCell.Offset(2, 0).Activate
ActiveCell.Value = "SMIC"
ActiveCell.Offset(1, 0).Activate
Dim PlageTC As Range
Set PlageTC = Range("I2", Range("I2").End(xlDown))
ActiveCell.Value = "=""Nbre TC : ""&SUM(PlageTC)"

Grand merci pour votre aide.
--
Sincères salutations,

F. PUYTHORAC

www.thermes-avenue.com

3 réponses

Avatar
E KERGRESSE
Salut Fred,

Je pense qu'il n'y a pas besoin de faire compliquer pour récupérer ton total
sur un nombre de lignes variables, il suffit de mettre ta fonction Somme
dans l'entête et de faire la somme sur un nombre de lignes très nettement
supérieur à ce qui peut t'arriver chaque mois.

Cela dit, le programme suivant devrait fonctionner :

Sub RechercheSommeColonneI

Dim CelluleTC, PlageTC as range
Dim Coordligne as long
Dim Total as Variant

Coordligne = Range("I65536").End(xlup).row

Set PlageTC = Range("I2:I" & Coordligne)
PlageTC.select

Total=0

For each CelluleTC in PlageTC
Total= Total + CelluleTC.value
Next

Range("A3").value="Nbre TC : " & Total

Set PlageTC = Nothing

End Sub

NB : par rapport à ton code, il faut toujours initialiser les variables en
début de macro.

Cordialement.



"Fred40" a écrit dans le message de
news:
Bonjour,

Je suis novice dans la mise en place de macro et je consulte souvent ce
forum dans lequel je trouve de nombreuses réponses.

Je vous soumet mon souci.

J'ai une macro qui appelle une feuille de données mensuelle sur laquelle
j'effectue diverses opérations. La colonne I contient un nombre de ligne
qui

varie tous les mois. Je veux faire la somme de ces données dans une
cellule

de la feuille. J'ai écrit ce code qui me renvoit l'erreur "#NOM?"

Range("A:A").End(xlDown).Select
ActiveCell.Offset(2, 0).Activate
ActiveCell.Value = "SMIC"
ActiveCell.Offset(1, 0).Activate
Dim PlageTC As Range
Set PlageTC = Range("I2", Range("I2").End(xlDown))
ActiveCell.Value = "=""Nbre TC : ""&SUM(PlageTC)"

Grand merci pour votre aide.
--
Sincères salutations,

F. PUYTHORAC

www.thermes-avenue.com




Avatar
Jacquouille
Bonjour Fred
Pas certain d'avoir bien compris ce que tu voulais au sujet du total.
Si ceci peut t'inspirer.....tu adaptes tes colonnes.

Sub MPFE()
' 14 nov 2004
derL = Sheets("feuil1").[A65536].End(xlUp).Row
Sheets("feuil1").Select
[B2] = "SMIG"
[B3] = Evaluate("Sum(C1:C" & derL & ")")
End Sub
Bonne chance
--
Bien amicalmement,
Vivement conseillé >> http://www.excelabo.net
Jacquouille.

"Fred40" a écrit dans le message de
news:
Bonjour,

Je suis novice dans la mise en place de macro et je consulte souvent ce
forum dans lequel je trouve de nombreuses réponses.

Je vous soumet mon souci.

J'ai une macro qui appelle une feuille de données mensuelle sur laquelle
j'effectue diverses opérations. La colonne I contient un nombre de ligne
qui
varie tous les mois. Je veux faire la somme de ces données dans une
cellule
de la feuille. J'ai écrit ce code qui me renvoit l'erreur "#NOM?"

Range("A:A").End(xlDown).Select
ActiveCell.Offset(2, 0).Activate
ActiveCell.Value = "SMIC"
ActiveCell.Offset(1, 0).Activate
Dim PlageTC As Range
Set PlageTC = Range("I2", Range("I2").End(xlDown))
ActiveCell.Value = "=""Nbre TC : ""&SUM(PlageTC)"

Grand merci pour votre aide.
--
Sincères salutations,

F. PUYTHORAC

www.thermes-avenue.com




Avatar
AV
Définir dynamiquement la plage :
Insertion > Nom > définir > Nom dans le classeur : "PlageTC" >
fait référence à : ÞCALER($I$2;;;NBVAL($I:$I)-1)


Ensuite par vba :
ActiveCell = ["Nbre TC : " & sum(PlageTC)]

AV