[VBA]Somme avec selection de cellules manuelle

Résolu
cs_reizer Messages postés 11 Date d'inscription mercredi 9 mai 2012 Statut Membre Dernière intervention 5 juin 2012 - 9 mai 2012 à 14:20
cs_reizer Messages postés 11 Date d'inscription mercredi 9 mai 2012 Statut Membre Dernière intervention 5 juin 2012 - 4 juin 2012 à 13:51
Bonjour,

Voila j'ai recherché sur internet et sur le forum et je n'ai pas trouvé de réponse à ma question.
Enfaite ce que j'aimerais c'est pouvoir procéder comme sur excel, c'est à dire pouvoir faire une somme en faisant "=" et en selectionnant les cellules et recevoir le résultat dans une TextBox.
En gros (si possible) qu'il y ai un bouton à coté de ma TextBox qui fait ça et rentre la valeur dans cette TextBox.

En feuilletant les forums j'ai entendu parler de la fonction SUM() mais je n'ai pas trouvé ce que je recherché vraiment.

Merci de votre aide,

Reizer

7 réponses

cs_reizer Messages postés 11 Date d'inscription mercredi 9 mai 2012 Statut Membre Dernière intervention 5 juin 2012
4 juin 2012 à 13:51
Bonjour,

Désolé du temps de réponse, j'étais en congé..

Voila j'ai réussi à concevoir ce que je voulais faire ! Merci à toi.

Pour ceux que ça interesse, voici comment j'ai procédé :

      Dim Plage As Range
      Set Plage = Application.InputBox("Sélectionnez une plage !", "Sélection de cellules", Type:=8)
      MsgBox ("La plage que vous avez séléctionnez est : " & Plage.Address)



Je vous souhaite une bonne journée !
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 mai 2012 à 16:46
Bonjour,

- Que vient faire ta discussion dans la section
Forum > VB.NET et VB 2005

alors que, selon toute évidence, tu développes sous VBA (le VBA de Excel) ! ?
Prends s'il te plait dorénavant soin d'ouvrir ces discussions là où il convient : Langages dérivés > VBA. VBA est très loin d'être du VB.Net !
- ouvre ton aide VBA sur le mot WorkSheetFunction
- lis attentivement
- clique ensuite (dans la rubrique ainsi ouverte) sur Membres de l'objet WorksheetFunction >> puis sur Sum >> lis === applique.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
cs_reizer Messages postés 11 Date d'inscription mercredi 9 mai 2012 Statut Membre Dernière intervention 5 juin 2012
11 mai 2012 à 11:57
Bonjour, désolé je n'avais remarqué que tu avais déplacé ma question dans la bonne partie du forum.

Sinon, le problème c'est que la fonction Sum() ne permet pas de selectionner les celulles à la main (comme sur excel). Je ne souhaite pas avoir une somme Statique, mais une somme dynamique qui puisse être changé à tout moment par les utilisateurs.

Comme par exemple l'utilisateur Landa, souhaite effectuer dans le label 1 , la somme du label50 et celui du label40 (ou de la cellule A15 + C20)
, alors que l'utilisateur Beta, lui souhaite la somme du label50 + label29 ect..

Merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 mai 2012 à 12:02
On ne parle ici (c'est ainsi que tu as ouvert le sujet) que de la sélection de cellules.
Et ma réponse est celle que je t'ai déjà donnée !
Elle est à appliquer à l'objet .... (attends ... je mouille mon doigt et le place au vent .... Ah ! ..... Selection... qui l'eût cru ? !!! )


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_reizer Messages postés 11 Date d'inscription mercredi 9 mai 2012 Statut Membre Dernière intervention 5 juin 2012
11 mai 2012 à 14:06
Et comment procèdes tu pour la selection, qui doit être manuelle, sous VBA?

Car l'utilisateur de mon projet n'aura pas accès au code VBA, et n'aura aucune connaissance de la programmation VBA.

Car faire une selection en "code pur", c'est simple, mais que par exemple, lors du clique sur un bouton "Somme":
- On quitte l'userForm pour retourner sur la feuille excel
- On selectionne les cellules à la main
- On valide, l'userform réaparait
- Le resultat de la somme s'écrit dans un label

Je ne pense pas qu'un simple select puisse le faire, ou si c'est possible, que l'on m'explique rapidement le principe
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 mai 2012 à 17:50
Aucun "simple select" ne lancera bien évidemment seul un code !
Mais rien ne t'empêche de lancer un code vba par un click sur un bouton mis à la disposition de l'utilisateur ! Tu peux même le lancer sur l'évènement de ton choix (par exemple) :
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  MsgBox Selection.Address
End Sub

sélectionne une plage, fais unclick droit et tu verras que cet évènement connait la plage sélectionnée ! (sur laquelle tu dois appliquer la fonction dont je t'ai déjà parlé deux fois !
Tu peux même faire en sorte, de vérifier que la selection faite est cohérente pour la somme (cellules contigües d'une même colonne). Où est le problème ?



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 mai 2012 à 17:54
Je t'ai parlé de l'objet selection.
Je viens de vérifier : marche
Mais marche également l'objet Target, en plus ===>>
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  MsgBox Target.Address
End Sub

Je veux te voir commencer à écrire sur ces bases.
je ne t'aiderais plus loin qu'après avoir constaté ton propre effort fait à l'aide de tout ce dont je t'ai parlé.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
Rejoignez-nous