Additions dans userrform

Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009 - 23 juil. 2009 à 15:25
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 - 30 juil. 2009 à 11:28
Bonjour,

Cette question est un peu difficile et je ne sais pas trop à qui m'adresser.

Je souhaite réaliser un espèce de userform qui ne désactive pas l'arrière plan.
Ainsi avec cette petite fenêtre je peux me balader de fichier excel en fichier excel. La textbox de ce userform fait alors office de calculette.
lorsque je clique sur une cellule puis une autre et ainsi de suite la textbox additionne instantanément.

Qui a une idée???


Roberto RIQUELME

27 réponses

jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
23 juil. 2009 à 15:54
Bonjour,
une idée de quoi ?
De faire ton userform ?
De déclarer une variable qui te sert de compteur ?
Je te rappelle enfin qu'une cellule ne connait pas d'évènement click ! (il va te falloir trouver autre chose... tu pourrais probablement utiliser selection.change, mais avec les risques induits si l'utilisateur se "promène"...)
0
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009
23 juil. 2009 à 18:11
J'avoue que sur la question jsuis un peu paumé sur le sujet.
je t'avoue que j'ai commencé VBA ya moins d'un mois et jsuis pas au top niveau.
je voulais surtout savoir si c'était jouable.

merci

Roberto RIQUELME
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
23 juil. 2009 à 18:58
C'est bien évidemment jouable, mais par sur un click sur une cellule !
Et il sera prudent de ne pas utiliser le sélection.Change (risqué)
Ceci étant dit :
- Un mois ? C'est beaucoup pour apprendre ces rudiments (très loin du "top niveau" !)
- une calculette dans Excel est assez étonnant (c'est un peu comme aider une marteau-pilon avec un petit marteau de tapissier !
- si tu y tiens toutefois tant, il vaudra mieux utioliser un boputon de commande en plus sur ton userform, lire à son click la valeur de la cellule sélectionnée et faire alors ton addition ...
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
23 juil. 2009 à 21:44
Bonsoir,

Bah ... Cette fonction existe déjà dans Excel... Elle est même en permanence... Regardes en bas à droite tout en sélectionnant des cellules contenant des valeurs numériques... Automatiquement, Excel en donne la somme...

(Utilise éventuellement CRTL appuyé pour sélectionner des cellules ou plage non contigüe)

Amicalement,
Us.
0

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

Posez votre question
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009
24 juil. 2009 à 09:53
En fait je tiens à simplifier la tache de certains ignorants.
et le plus difficile je pense est d'arriver à passer d'un ficher excel à un autre en gardant cette fenêtre ouverte pour qu'elle continue d'additioner les contenus d'autres cellules sur uun nouveau classeur

je sais même pas comment lire le contenu d'une cellule selectionée

en tout cas ton message m'a redonné un certain espoir JMF0.

Roberto RIQUELME
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
24 juil. 2009 à 12:15
Bonjour,

En fait je tiens à simplifier la tache de certains ignorants.


je sais même pas comment lire le contenu d'une cellule sélectionnée


... mais connais-tu un peu la programmation ?!

Bon courage, particulièrement à jmf0,

Amicalement,
Us.

PS : CS est un site d'entre aide pour le développement de code...
0
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009
24 juil. 2009 à 13:17
En fait même si le débat ne porte pas sur mon talent de programmateur je vais qd mm expliquer ma situation afin d'éviter des petits mots doux comme ceux de us_30 qui à l'air d'être bien doué aussi vu les réponse qu'il donne au problèmes posés.

Je travaille depuis quelques mois dans un groupe en tant qu'acheteur, je n'ai jamais programmé sur VBA ou autre chose, vu le merdier de mon secteur il a fallu que j'organise tout ça et malgré quelques connaissance sur Excel (formules et autre basique), il me fallait allé plus loin pour réussir à faire un truc correct.
J'ai donc décidé il y a un petit mois de m'initié au joie de la programmation et j'y vais un peu au filling, je découvre.

Quoi que tu en penses il y a vraiment des ignorants sur Excel et j'essaie d'adapter l'outil à leur attentes.

Si je viens sur ce site c'est qu'on me l'a conseillé et comme tu le dis si bien c'est un site d'entraide et là j'ai besoin d'aide.

Maintenant si tu pouvais éviter les messages inutiles et qui ne me font pas avancer sur la question que j'ai posé, cela m'éviterai de perdre mon temps en justifications.

Cordialement


Roberto
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
24 juil. 2009 à 13:33
Bonjour, Robikatchou,

Si tu le permets : on ne développe pas "au feeling", mais selon certaines règles propres aui langage (dont il est nécessaire de connaître ou d'apprendre les rudiments)...
Bonne étude préalable du langage de développement que tu as choisi. Il s'agit là d'une étape essentielle, où le "feeling" n'a pas sa place.
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
24 juil. 2009 à 16:54
Bonjour,

Désolé Robikatchou, si tu le prends mal, mais sur CS on est sensé aider une personne qui en connait un minimum... là tu es à zéro, si je comprends bien. Difficile dans ces conditions de vraiment t'aider. D'autant que ce que tu demandes est de fait, un programme complet... Donc, ben, là, on n'est pas là pour faire le programme d'autrui mais aider seulement sur un problème particulier... c'est tout le sens de 'entre aide'...

En effet, si je te donne une base de programmation à quoi pourrait-il te servir puisque tu vas rien y comprendre ?

Pour preuve, une réponse possible serait :
Dans le classeur PERSO.XLS, met le code dans un Module la macro suivante :

Sub Macro1()

'Paramètres
Dim som
Dim Classeur As Workbook
Dim Feuil As Worksheet

'Selection courante
nclasseur = ActiveWorkbook.Name
nfeuil = ActiveSheet.Name

' Algo de calcul de la somme
For Each Classeur In Workbooks
Classeur.Activate
For Each Feuil In Worksheets
Feuil.Select
som = som + WorksheetFunction.Sum(Selection)
Next
Next

'Affichage
Application.StatusBar "Somme de toutes les selections (classeurS+FeuilleS)" & som

'Selection initiale
Windows(nclasseur).Activate
Sheets(nfeuil).Select

End Sub



=

Et ici reste encore à automatiser pour une actualisation en continue...

Bon, mais si tu me demandes comment obtenir le classeur PERSO.XLS, ce qu'est un Module, etc... Comment lancer la macro... etc...
Je vais simplement de répondre d'apprendre la programmation sous Excel... Quoi dire d'autre ?!

Je ne sais pas dans quel domaine tu travailles, mais si je te pose des questions sur la moindre chose basique de ton travaille, comment tu vas réagir ? hum ?

Amicalement,
Us.
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
24 juil. 2009 à 17:09
Tiens, d'abord...

Mettre un menu personnalisé est une solution assez élégante pour obtenir l'information... Voilà une autre piste...

Amicalement,
Us.
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
24 juil. 2009 à 18:51
Robikatchou, voici une source qui devrait répondre en grande partie à ton problème :
http://www.vbfrance.com/codes/EXCEL-OPERATIONS-TOUT_50359.aspx

Amicalement,
Us.
0
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009
26 juil. 2009 à 16:08
Merci Us_30

désolé de m'être emporté, mais le fait est que bloquer alors que je suis assez proche de finalisé mon fichier m'a un peu frustré.
Je vais tester tout ça lundi au bureau et je te fais un retour dès que possible.

Et pour répondre à ta question : si un débutant me posait des questions sur mon métier ça me ferait plaisir que quelqu'un qui est dans un autre secteur s'intéresse au mien et désir apprendre. Néanmoins c'est vrai que je ne suis pas prêt à lui faire son boulot à sa place et pour ça je m'excuse.
Saurais-tu m'indiquer une bon moyen pour me former à la programmation rapidemment genre ouquin efficace, site internet complet et pédagogique pour un débutant.
Merci


Roberto
0
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009
27 juil. 2009 à 17:24
Bonjour US 30

Jsuis trop fan du premier code fourni, j'ai même réussi à le faire marcher!!

Une question pour la fonction que tu a écrite, faut-il également la mettre dans perso.xls?

j'avoue que sur celle là jsuis un peu plus perdu

merci en tout cas

Amicalement
Robibi
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
27 juil. 2009 à 18:45
Bonsoir,

Je pense que tu devrais regarder le lien précédemment donné... J'ai fait une version plus complète accessible par menu... c'est beaucoup plus agréable.

Sinon, pour une macro, il n'est pas absolument nécessaire de la mettre dans PERSO.XLS, mais ce dernier (classeur spécial) est accessible partout dans Excel et chargé automatiquement au lancement d'Excel... Pour le créer facilement, il suffit de faire une macro par l'enregistreur de macro et de choisir dans le menu qui apparait, l'enregistrement dans "classeur des macros personnelles"... Ce dernier sera alors créé. On peut le voir donc dans le VBE [ALT+F11]. Dans un module de PERSO.XLS, il suffit de mettre alors la macro...

Bon courage pour ton apprentissage du VBA,

Amicalement,
Us.
0
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009
27 juil. 2009 à 19:27
Ma question portait surtout sur la mise en oeuvre de la fonction de ton lien.


Roberto RIQUELME
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
27 juil. 2009 à 20:51
Et bien, c'était pas très bien précisé, si tu me le permet ... Mais la réponse est presque identique. Si tu utilises le fichier "Opération tout", il suffit de lancer à chaque fois que tu veux ce menu, ce dernier (fichier). Si tu le veux en permanence, copie les modules (faire un glisser en raccourci), avec une copie identique des codes contenus dans "ThisWorkbook" dans PERSO.XLS. (PERSO.XLS étant créé comme indiqué ci-dessus). Ferme ensuite Excel, ce qui demandera si tu veux enregistrer le code de PERSO.XLS... bien Oui. Puis à chaque ouverture d'Excel, tu auras le menu "Opération tout" en permanence. Pour revenir en arrière, supprime les codes rajoutés.

Amicalement,
Us.
0
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009
28 juil. 2009 à 09:50
Bonjour,
dès que "Tous els Classeurs" et/ou "toutes les feuilles" sont sélectionné ya toujours des erreurs qui surviennent sur les lignes suivantes

'Selection feuille
If myPopupFeuille.State = msoButtonDown Then
[size=300]Feuil.Select
/size End If

'Calculs
Valeur = Valeur + WorksheetFunction.Sum(Selection)
Nb = Nb + WorksheetFunction.Count(Selection)
Maxi = WorksheetFunction.Max(Selection, Maxi)
Mini = WorksheetFunction.Min(Selection, Mini)
If Nb > 0 Then Variance = Variance + WorksheetFunction.Var(Selection)

??

Roberto
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
28 juil. 2009 à 10:21
Je ne rencontre aucune erreur, pour ma part. Quelle est le message d'erreur ? pour que je puisse comprendre (peut-être) de quoi il s'agit...

Amicalement,
Us.
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
28 juil. 2009 à 10:30
Ah si... sur le calcul Ecart Type seulement... Je vais corriger...

Amicalement,
Us.
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
28 juil. 2009 à 11:50
Voilà, corrigé.

Amicalement,
Us.
0
Rejoignez-nous