Variable dans une fonction

Fermé
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 - 21 févr. 2017 à 14:51
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 - 2 mars 2017 à 16:43
Bonjour le forum,

Par un msgbox je souhaiterais demander à ce que l'on rentre un mot
par exemple "Divers" et que ce mot s'inscrive dans la fonction sommeprod
autrement dit je souhaiterais mettre une variable à la place de "Divers" dans la fonction pour avoir le choix du mot à entrer

et pouvoir placer le résultat de sommeprod dans une textbox

=SOMMEPROD((F6:F13="Divers")*(I6:I13))

Pouvez vous m'aider s'il vous plait

Merci


<config>Windows 8.1 excel 7

34 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
21 févr. 2017 à 14:57
Bonjour
Par un msgbox je souhaiterais demander à ce que l'on rentre un mot
ce ne serait ce pas plutôt un inputbox ?
1
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
21 févr. 2017 à 16:05
Oui Michel Inputbox

sorry
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
21 févr. 2017 à 18:46
Michel
j'ai adapté ce code
Private Sub CommandButton4_Click()
Application.Visible = True

Dim Plage1 As String, Plage2 As String
Dim Chaine As String
Plage1 = Range("F6:F60000").Address
Plage2 = Range("g6:g60000").Address
'Chaine = "Manif1"
Chaine = InputBox("Entrer un nom")
Range("C13") = Evaluate("Sumproduct(" & Plage2 & "*(" & Plage1 & "=""" & Chaine & """))")

'end with
TextBox1 = Chaine
TextBox2 = Sheets("journalbord").Range("C13")

End Sub

mais chaine peut avoir jusqu'à 6 ou 7 valeurs
il y a donc une boucle à faire n'est ce pas ?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020
Modifié par michel_m le 22/02/2017 à 08:16
Bonjour,

pas trop le temps ce matin....

Tu annonces 60000 lignes et à ce niveau sumproduct sera très lent..
dans ta première demande tu parles de la colonne I et maintenant colonne G le tout sur 7 lignes....
On ne raisonne pas du tout de la m^me façon suivant le nombre de lignes !

Il serait intéressant que tu donnes la liste des mots ou mieux de mettre cette liste dans une validation de données plus sécuritaire qu'un input box

le + intéressant serait de

Mettre le classeur sans données confidentielles en pièce jointe sur « mon-partage.fr »
et faire un clic droit-coller le raccourci dans votre message

Dans l’attente
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3 > michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023
22 févr. 2017 à 10:58
Bonjour michel-m
et te remercie beaucoup du temps que tu me consacres
j'ai tenu compte de tes remarques concernant la sécurité
j'ai donc abandonné le inputbox au profit des combobox d'autant plus que la liste des activités éxiste déjà dans ma feuille1 de variables
il y a peut être un autre moyen ??
concernant les 60000 lignes : en fait il n'y aura jamais plus de 10 lignes voire 12 puisqu'il s'agit des activités
dans le userform2 je pourrais donc avoir le montant des recettes et dépenses par activité
via un bouton
serait il possible d'afficher simultanément les recettes et les dépenses de toutes les activités réalisées pour ne pas à avoir à les entrer une par une toujours via un bouton?
(Dans l'exemple j'ai juste fait dépense pour une activité)

https://mon-partage.fr/f/TJrrwGyh/

Merci
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
22 févr. 2017 à 12:12
Je viens de jeter un œil et je n'y comprend rien

déjà on ne sait pas de quelle feuille provient plage1 et plage2...

en 1° ligne j'ai le nom de cette activité qui apparait en 1° ligne dans le textbox "entrée".... ?

Comme il n'y a pas d'exemples activité -recette ou dépenses (où ?), il est difficile de rentrer dans une étude de solution...
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
Modifié par max850 le 22/02/2017 à 12:54
plage1 et plage2 viennent de la feuille "journalbord"
jai modifié de la façon suivante

mafeuille = Sheets("journalbord").Range("C13")

mafeuille = Evaluate("Sumproduct(" & Plage2 & "*(" & Plage1 & "=""" & Chaine & """))")

Dans le menu principal en cliquant sur Journal de bord je peux compléter
la feuille"journal dépense". En cliquant sur le bouton valider je retrouve ces infos dans la feuille "journalbord"
je reviens au menu principal je sélectionne mon activité et en cliquant sur Bilan par activité j'ai la somme qui s'affiche dans la textbox.

Mais je viens de m'percevoir qu'en rentrant plusieurs activités dans ma feuille journaldepense il y a toujours la meme somme qui s'affiche dans la textbox du bilan par activité
j'ai sans doute un problème dans ma formule Evaluate
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
22 févr. 2017 à 15:34
Michel-m je t'envoie un nouveau fichier que j'ai un peu modifié
peut être y verras tu un peu plus clair

merci



https://mon-partage.fr/f/GEUBI7dj
0

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

Posez votre question
Bonjour
j'ais modifier un peux ton userform1

http://www.cjoint.com/c/GBwuOxqHhMd
A+
Maurice
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
23 févr. 2017 à 10:29
Bonjour Maurice je ne parviens pas à ouvrir ton fichier
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
23 févr. 2017 à 11:34
Maurice j'ai un message d'erreur : erreur de compilation
projet ou bibliotheque introuvable
Dans le cadre référence vba project
j'ai : manquant : microsoft windows common controls 6.0
(sp6)
0
Bonjour
en VBA dans les Outils\Reference
reactive OCX SP6
A+
Maurice
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
23 févr. 2017 à 11:58
ok Maurice
tu m' as devancé
je suis allé dans références et j'ai décoché le manquant : microsoft ..
et ai coché la ligne du dessous qui avait exactement le même libellé excepté manquant et ca marche maintenant
je reviens vers toi pour te dire quoi au sujet de ton userform
merci
0
Bonjour

sans listView

http://www.cjoint.com/c/GBxlAULERxl

A+
Maurice
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
23 févr. 2017 à 14:20
Maurice il me semble que la deuxième sans listview est plus rapide
en tous les cas la présentation du userform est plus légère et c'est celle que je préfère
dans les deux exemples j'ai juste apporté une modif
pour avoir le plan comptable correspondant à la checkbox

dans ce userform1 j'obtiens le numéro de la pièce en le sélectionnant avec la combobox correspondante
Serait il possible d'utiliser disons la variable 100 qui se trouve dans la colonne k1 de la feuille de variable feuil1 pour qu'elle s'incrémente automatiquement de +1 et placer ce nouveau nr dans la textbox12 . A chaque lancement du userform j'aurais donc 100 ensuite 101 102 etc ....
merci
0
Bonjour

regarde aussi UserForm5
http://www.cjoint.com/c/GBxpVkz7hKl

A+
Maurice
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
23 févr. 2017 à 17:08
Super Maurice
j'avais utiliser cela

' **** remplace: [Private Sub CommandButton2_Click()]
Private Sub cmdeValider_Click()
Application.Visible = True
Static Compteur As Long
Compteur = Compteur + 1
TextBox12.Value = Compteur

mais je ne faisais plus appel à ma variable dans feuil1

Ta solution me convient parfaitement

Merci Maurice tu es un vrai chef
Pour moi ce sera tout pour ce soir
0
Bonjour
Voila encore une modife
http://www.cjoint.com/c/GByjXqeK2f8

A+
Maurice
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
24 févr. 2017 à 14:22
Bonjor Maurice
merci our ton nouveau fichier

voilà ce qie j'ai fait ce matin
comme je n'ai que deux alternatives entre bqe et cais

En utilisant ton dernier modèle d'hier

j'ai rendu textbox10 et combobox3 invisible
pour nes avoir d'erreur
et ai modifie le textbox17_change de la façon suivante

https://www.cjoint.com/c/GBynuM4ZsXu

Private Sub textbox17_change()

If TextBox17.Value = "Chèque" Or TextBox17.Value = "Virement" Then
TextBox19.Value = "BQE" & Feuil1.Range("K1").Value + 1
Else
TextBox19.Value = "CAI" & Feuil1.Range("K1").Value + 1
End If
TextBox19.Locked = True
0
Bonjour
encore des modifes
et aussi dans UserForm2
http://www.cjoint.com/c/GBypAAtJIv8
A+
Maurice
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
24 févr. 2017 à 17:40
Merci Maurice pour ces modifs
en particuliers le select case et Compte recettes par défaut
j'ai un petit soucis avec le userform1
lorsque je clique sur Quelle activité txt9 combo8
l'activité s'affiche dans la txtbox 17 combo 10 en lieu et place
de moyen de règlement et en modifiant les 3 premiers caractères de la
ref pièce
je cherche tout cela provient mais tu auras beacoup plus vite fait que moi

j'ai également enlevé le premier contrôle sous "if checkbox1.value ..
0
Bonsoir
voila la modife
mes tu devrais refaire ton userform
http://www.cjoint.com/c/GByu016jOx8
A+
Maurice
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
25 févr. 2017 à 21:35
Bonsoir Maurice
Ai modifié ta dernière modife pour lire dans le
Select case
Case else
textbox6.locked = true
Ref = "CAI"

pour que l'on puisse rien inscrire dans ce champ
lorsqu'il s'agit d'une opération de caisse

j'ai supprimé le label qui ne servait plus sur le userform1
je vais mieux présenté ce userform.
j'ai fait également le ménage dans le code
je vais maintenant finaliser ce userform1 avant de poursuivre dans le userform2 etc .....
j'aurai sûrement encore besoin de tes lumières .......
merci une novelle fois maurice
0
Bonjour
Voila un model de gestion plus simple en saisie
http://www.cjoint.com/c/GBAkS2fNGpn
bon courage
A+
Maurice
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
27 févr. 2017 à 13:08
Bonjour Maurice
j'ai chargé les Windows common controls 6.0(sp6)
les controles commun vb6.0 ont té installé avec succès
Mais en ouvrant ton fichier j'ai un problème avec le DTPICKER1
En regardant dans sysWOW64 j'ai bien MSCOMCTL.OCX mais pas de trace de MSCOMCT2.OCX
Comment puis je résoudre ce problème ?
merci
0