Variable dans une fonction
max850
Messages postés
304
Date d'inscription
Statut
Membre
Dernière intervention
-
max850 Messages postés 304 Date d'inscription Statut Membre Dernière intervention -
max850 Messages postés 304 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Variable dans une fonction
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer dans word - Guide
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule ✓ - Forum Excel
34 réponses
Bonjour
Par un msgbox je souhaiterais demander à ce que l'on rentre un mot
ce ne serait ce pas plutôt un inputbox ?
Par un msgbox je souhaiterais demander à ce que l'on rentre un mot
ce ne serait ce pas plutôt un inputbox ?
Oui Michel Inputbox
sorry
sorry
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 ?
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 ?
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
Dans l’attente
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
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
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
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...
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...
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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
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
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
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
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
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
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 ..
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 ..
Bonsoir
voila la modife
mes tu devrais refaire ton userform
http://www.cjoint.com/c/GByu016jOx8
A+
Maurice
voila la modife
mes tu devrais refaire ton userform
http://www.cjoint.com/c/GByu016jOx8
A+
Maurice
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
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
Bonjour
Voila un model de gestion plus simple en saisie
http://www.cjoint.com/c/GBAkS2fNGpn
bon courage
A+
Maurice
Voila un model de gestion plus simple en saisie
http://www.cjoint.com/c/GBAkS2fNGpn
bon courage
A+
Maurice
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
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