plage de cellules variable

N

Nabil

Guest
Bonjour,

est-il possible de recuperer la somme d'une plage de cellules dont les bornes varient ?

l'utilisateur saisie les variables suivantes :
le nom de la feuille : var1
la cellule supérieure gauche d'une plage : var2 (resulats d'une bande déroulante)
la cellule inférieure droite d'une plage : var3 (resulats d'une bande déroulante)

jusqu'ici ok, la macro va bien dans la feuille et selectionne bien la plage.
Par contre je ne parviens pas à recupérer la somme de la plage ainsi selectionnée et à récupérer le resultats dans la cellule d'une autre feuille. (il m'indique #nom? ou alors selon mes tentatives je ne récupère que la première valeur de var1 ; 1ere cellule de la plage selectionnée et non la somme de la plage entière )
Quelqu'un peut il m'éclairer? Merci
 
H

Hervé

Guest
Bonjour

Cette macro, invite l'utilisateur à choisir une plage de valeur et place la somme de ces valeurs dans la cellule A1.

Public Sub cf()
Set donnees = Application.InputBox("selectionnez la plage dont vous voulez la somme.", Type:=8)
Range("a1").Value = Application.WorksheetFunction.Sum(donnees)

End Sub

Salut
Hervé
 
N

Nabil

Guest
Merci pour vos réponses respectives et pour votre réactivité. j'essaie d'integrer ces réponses dans la macro et vous tiens au courant.

petites questions ??

A Quoi sert le "Type" et quelles correspondances avec les numéros associés?

Que permet le signe "& " dans l'eciture d'instruction?

Merci
 
H

Hervé

Guest
bonsoir

le type correspond à un type de donnés entendu par l'inputbox si tu met :
o inputbox attend une formule
1 inputbox attend un nombre
8 inputbox attend un plage de cellule

l'utilisation du type dans un inputbox permet de faire une controle sur la valeur saisie par l'utilisateur ex :

exemple = Application.InputBox("entrez un nombre", Type:=1)
MsgBox exemple

Ce type de code interdit à l'utilisateur de saisir autre chose qu'un nombre et évite ainsi des tests de contrôe par la suite.

Le & permet la concaténation d'une variable ex :

Val1 = "moi"
val2 = "toi"
MsgBox Val1 & " " & val2

résultat de la msgbox : moi toi

Je me trouve pédagogique ce soir .

Salut
Hervé
 
N

Nabil

Guest
Ca marche bien ? ET MERCI ENCORE .

est-il possible que l'on évite un "input box" qui oblige l'utilisateur à saisir toute la plage? Je parviens à demander à l'utilisateur de selectionner à travers deux bandes déroulantes distinctes le début et la fin de la plage (et sur une fonction adresse sur les cellules liées je récupère littéralement la plage ex : "feuil2!A2:B3" que je place dans la cellule worksheet("feuil1").range ("A1") par exemple.
Ensuite ça se complique j'utilise une variable "tampon" plage1 pour récupérer le contenu de A1 et lorsque je lui demande dans la macro ".... sum(plage1)", pas de message d'erreur mais le résultat est toujours égal à 0.(pourtant plage 1 n'est pas vide !!)

Y-a_t_il une solution ou une piste éventuelle.

Par Avance merci.
 

Discussions similaires

Statistiques des forums

Discussions
314 015
Messages
2 104 559
Membres
109 080
dernier inscrit
Merilien