macro excel

  • Initiateur de la discussion jojo
  • Date de début
J

jojo

Guest
Salut,


g un prob que j arrive pas à résoudre

g trouvé cette macro sur le site

Attribute VB_Name = "SommeAutoPersonnalisee"

'Comment faire une macro qui demande à l'utilisateur de sélectionner une plage
'de cellules en colonne avec la souris, qui additionne la sélection et place
'le résultat dans la cellule en dessous de la sélection.

'Ce qui évite à l'utilisateur de passer par la commande de formule somme.

Sub SommeAutoPerso()
'L Longre, mpfe
Dim Plage As Range
On Error Resume Next
Set Plage = Application.InputBox("Quelle plage de cellules " _
& "voulez-vous sommer ?", "Ma macro à moi", Type:=8)
On Error GoTo 0
If Plage Is Nothing Then Exit Sub
Plage(Plage.Rows.Count + 1, 1).Formula = _
"=SUM(" & Plage.Address(0, 0) & ")"
End Sub


moi, j 'aimerais faire la somme de cellule dispersée sur la feuille. je met donc ds une variable l'adresse de ces cellules :

plg1 = plg1 & ActiveCell.Offset(0, 5).Address() & ","

puis qd je les ai toutes, je fais

total1 = Evaluate("=sum(" & (Range(Left(plg1, Len(plg1) - 1)).Address(0, 0) & _
")"))

et ça marche , mais bon c pas très élégant, j voudrais que dans la feuille on puisse trouver dans la case : SOMME (...) ...

je voudrais faire :

activecell.formula = sum(" & (Range(Left(plg1, Len(plg1) - 1)).Address(0, 0) & _
")"))

mais ça foire car dans la case, il y a SOMME('A1','A2'.... ) => les adresses de celulles sont entre ' ' et j obtiens donc #NOM d 'ou vienne ces ' ' alors que dans plg1 ils n y sont pas?
Aurais - tu une autre solution en utilisant des objets range : plg1 comme objet range plutot que comme chaine de caractère ? mais alors comment "additioner des adresses de cellules? (du genre plg1=plg1+ActiveCell.Offset(0, 5).Address() )

Pourais - tu m aider, c pour mon boulot, et j coince, merci.
 

Statistiques des forums

Discussions
312 571
Messages
2 089 808
Membres
104 277
dernier inscrit
akdeche