Aide sur Projet VBA Excel - VB/VBA/VBS - Programmation
Marsh Posté le 03-12-2005 à 01:41:33
Par exemple là, la première saisie USEFORM marche, mais ça ne passe pas à la ligne comme je le souhaiterais...
Code :
|
Marsh Posté le 03-12-2005 à 06:12:42
bonjour,
les variantes sont nombreuses.
Celle-ci est facile à mémoriser :
Code :
|
On lui préfère souvent :
Code :
|
A+
Marsh Posté le 03-12-2005 à 10:26:33
Salut, merci pour cette variante.
En effet, je vais retenir celles là
Je les ai rentrées, et lorsque je rentre la première fois des données ça les rentre ou il faut (dans la ligne suivante).
En revanche, lorsque je rentre une seconde fois des données, ça me les rentre en écrasant les premières (un truc dans le code doit pecher... )
' Détermine la ligne vide suivante
i = Cells(2, 1).End(xlUp).Row + 1
' Transfère le nom
Cells(i, 1) = SaisieNom.Text
' Transfère la tranche d'âge
If optionmoins30 Then Cells(i, 2) = "Moins de 30 ans"
If option30_40 Then Cells(i, 2) = "30-40 ans"
If option40_50 Then Cells(i, 2) = "40-50 ans"
If optionplus50 Then Cells(i, 2) = "Plus de 50 ans"
Marsh Posté le 03-12-2005 à 11:49:58
tu réactualises bien ton i avant chaque écriture ou tu lui ajoutes 1 ?
@+
Marsh Posté le 03-12-2005 à 12:00:01
Euh...faut il que je mette i+1 (j'ai essayé ça ne change rien). J'ai du merder sur un truc...
Comment "Actualiser le i" ?
J'avoue que je sèche là
Marsh Posté le 03-12-2005 à 12:09:59
Tout ce que je teste, ça me met les valeurs ou il faut mais ça ne passe pas à la ligne suivante, ça écrase les données sur la même ligne que la 1ere saisie
Marsh Posté le 03-12-2005 à 12:12:29
Donne ton code en entier on y verra peut être mieux.
Mais normalement c'est un truc du style :
i = Cells(2, 1).End(xlUp).Row + 1
avant chaque écriture sur la cells(i,1) par exemple.
ou
i = Cells(2, 1).End(xlUp).Row + 1
'ta boucle pour ecrire à la chaine avec dedans à la fin juste avant de sortir de la boucle i=i+1
[hs]Tu fais tes macros avec excel sous mac os ?[/hs]
Marsh Posté le 03-12-2005 à 13:21:08
Apparemment maintenant ça marche pour la ligne suivante. Voici le code:
Sub OKButton_Click() |
Marsh Posté le 03-12-2005 à 16:17:26
Et voici ce qu'on me demande pour commencer:
Citation : Première évaluation des chances du client d'obtenir un prêt bancaire |
Marsh Posté le 03-12-2005 à 16:30:05
Tu serais pas à l'IAE de Toulouse toi?
Plus sérieusement, si j'ai un conseil à te donner, c'est de bien relire les consignes générales et plus particulièrement ce passage :
Citation : Vous privilégierez l'utilisation des fonctionnalités d'Excel à la ré-écriture complète de macros. Vous préfererez donc l'enregistrement de macros, avec modifications ultérieures pour rendre les macros généralistes. |
Pour moi, ça veut clairement dire que ton projet est avant tout sur Excel et doit utiliser plus les formules d'Excel (type recherchev, equiv, index etc...) que les macros, donc pas besoin de tout programmer.
En plus quand elle dit:
Citation : Vous proposerez des outils conviviaux... |
Ca peut tout simplement être des cellules à remplir et des cases à cocher
Voici un exemple de ce que j'ai fait (je devrais pas te le montrer mais bon ):
Même si c'est destiné à un "décideur non-spécialiste d'Excel", il faudrait être crétin pour pas savoir remplir les champs en jaune et cocher des cases
Et pour en revenir à tes macros, tu vas rigoler non seulement quand il va falloir prendre en compte les 17246 lignes du tableau de la liste des tarifs mais aussi lors de la soutenance...
Bon courage
Nico (filière MSTCF)
Marsh Posté le 03-12-2005 à 17:14:36
Non pas du tout
Enchanté
Ok merci, tout ce que j'ai fait pour le moment j'ai saisi sous l'éditeur VBA mais je vais utiliser Excel alors.
C'est dommage ça aurait été plus intéressant de coder en VBA mais vu que je sais pas
Merci pour l'exemple, t'inquiètes pas je vais pas te le copier
Sinon je trouve que c'est plus facile de justifier le code qu'on a écrit que celui généré par Excel mais bon...
En tout cas merci je vais voir ça... Tu as déja fini toi apparemment !!!?
Sachy, MSG
Marsh Posté le 03-12-2005 à 17:31:12
Non loin de là !!!!
Mais j'ai fini la 1ère étape de la 1ère question. La 2nde partie est déjà bien plus galère... mais j'ai fini par trouver la solution.
Pour ce qui est de la justification du code, t'as pas besoin de justifier celui sous Excel
Mais comme je l'ai dit, ce n'est qu'une interprétation, il se peut que je me trompe (auquel cas j'ai tout à recommencer ). Je demanderai confirmation à la prof dès que je la vois. Peux-tu faire de même et me dire ici si c'est bien ce que j'ai compris?
Citation : C'est dommage ça aurait été plus intéressant de coder en VBA mais vu que je sais pas |
En même temps si tu ne codes QUE sous VB, c'est un logiciel que tu vas faire, pas un classeur Excel
Marsh Posté le 03-12-2005 à 17:42:33
Ok pas de souci
Dis moi, tu as exploité le fichier MDB ? Sous Mac je vois pas trop avec quoi l'ouvrir
Dernière chose, tu te mets en mode "enregistrement macro" pour tout ce que tu fais, ou juste quand tu utilises des fonctions ?
Marsh Posté le 03-12-2005 à 20:02:09
Alors pour la base de données, j'ai demandé à la prof lors du dernier cours d'info. En fait elle ne sert que pour bien expliquer ce qu'elle a mis dans le fichier CourtageQ1.xls (celui qui fait 5Mo et quelques, avec les 17426 lignes )
Mais t'as pas à t'en servir.
Pour les macros en fait, je sais pas si tu as bien compris le principe. Une macro c'est une suite de commande qui, soit répète ce que tu as fait sous Excel pendant l'enregistrement (exemple: tu lances l'enregistrement, tu sélectionnes tout ton document, tu fais "Edition" -> "Effacer" -> "Tout", tu arrêtes l'enregistrement et tu mets en raccourci Ctrl+e; en un raccourci clavier tu as ta page vierge, ce qui est plus rapide qu'à la souris), soit te donne les moyens d'appliquer des fonctions (par exemple une recherche multi-critères, en imbriquant des "If" ) que tu ne trouverais pas dans les simples fonctions excel.
Donc je n'utilise des macros que quand c'est nécessaire: dans l'image que j'ai donné, il y a un bouton "Enregistrer données". Ce bouton permet la sélection de tous les champs et de les enregistrer dans un tableau d'une autre feuille en un simple clic; c'est le côté "convivial".
Dans la 2nde partie, j'utilise une macro pour faire une recherche multi-critères, pour dénombrer les contacts commerciaux d'un client car il n'existe pas de fonction Excel te permettant d'avoir pour critère à la fois le n° de client et le type de contact.
Voilà
Marsh Posté le 03-12-2005 à 20:16:26
Nico-Rep a écrit : |
Je te rassure, ça parait peut etre pas mais j'ai compris le principe
Marsh Posté le 03-12-2005 à 20:19:10
Nico-Rep a écrit : |
Yes j'avais imaginé que c'était ça
Merci beaucoup pour ces précisions et bon courage à toi
Marsh Posté le 04-12-2005 à 11:39:27
Merci à toi aussi
Si jamais tu as besoin d'aide, poste ici, je pourrai te donner quelques pistes...
Marsh Posté le 05-12-2005 à 10:38:09
Je te remercie, je risque d'en avoir besoin en plus...
Je trime
J'attend d'avoir des pistes, j'ai TD cet aprèm
En tout cas merci et il se peut que je te sollicite
J'ai touché à pas mal de trucs mais VBA (et Excel à moindre mesure), c'est pas ma spécialité on va dire
(enfin pour l'épreuve de "décodage" de code VBA ça ira je pense...j'ai "VBA pour les nuls" )
Marsh Posté le 05-12-2005 à 23:40:07
Surtout garde tout le temps à l'esprit que tu n'as besoin que de ce qu'il y a dans le cahier de TD
Moi j'avais pas compris au début... résultat, 3h de perdu
Marsh Posté le 08-12-2005 à 08:15:34
Effectivement c'est très bon à savoir!
Moi aussi j'ai perdu 3h par ci par là
Je trouve qu'ils ont abusé de nous donner le projet seulement maintenant... Les bons esprits qui auraient voulu s'avancer n'ont pas pu...
Marsh Posté le 08-12-2005 à 17:54:21
Ouep clair... mais bon ça a l'air d'être l'organisation générale qui foire
Marsh Posté le 08-12-2005 à 17:56:06
Et pour info, c'est bien ce à quoi je pensais. La prof trouve que des inputbox de partout, c'est beaucoup trop lourd, donc elle conseille de simplement proposer à l'utilisateur de rentrer les données directement sur la feuille.
Marsh Posté le 09-12-2005 à 23:52:16
Ah oué ? Bonne info...
Donc ça revient à être un projet Excel + une soutenance de comprehension de code VBA
Sinon moi j'ai fait un USERFORM pour le pack AGE/RISQUE PROFESSION, je le laisse ça me ferait mal au coeur de le jeter
PS: droit des sociétés: C'EST FAIT
Marsh Posté le 10-12-2005 à 14:29:28
En tout cas ça foire entre leur version d'excel et la version 2003-2004
Pour la partie 2, l'outil permettant de donner le meilleur pack selon l'age et le risque profession, tu as fait un TCD, un tri?
Marsh Posté le 10-12-2005 à 18:48:17
No, il faut utiliser les filtres élaborés
Quant à la compatibilité, il faut que tu prévoies le coup. Si tu disposes d'un portable, tu peux présenter ton projet sous Excel 2003. Sinon, il faut que tu l'enregistres au format 97 ou 2000 (possible quand tu fais "enregistrer sous", tu sélectionnes le format 97 dans le type de fichier).
Marsh Posté le 11-12-2005 à 22:46:48
Yes la prof nous en a parlé, je présenterai avec mon ibook car j'ai subi les incompatibilités entre excel de l'IAE et excel 2003...
Sinon pour le Filtre élaboré:
Il faut faire un truc qui filtre selon Age+risque profession, puis dans les lignes filtrées on sélectionne le pack le plus bas?
Je suis resté le weekend sur cette question et dans mon groupe c'est le cas pour tout le monde J'avoue que je suis peut être mauvais mais j'en ai un peu marre de "perdre" mon temps
Marsh Posté le 13-12-2005 à 16:37:04
salut sachy, c pierrick!
on se galère aussi, est ce que quelqun pourrait nous aider a propos du la prmière partie de la question1.2 (et le reste aussi) SVP ?
Marsh Posté le 13-12-2005 à 21:34:32
Tiens voila un nouveau renfort de licence management
Dis donc la dernière fois qu'on a joué contre Lorient, on a gagné 4-1 aussi...
Donc les merlus...
Marsh Posté le 13-12-2005 à 21:35:13
On est un peu des brêles parce que le Nico-Rep de Compta Controle, il a déja bouclé le second semestre !!!
Marsh Posté le 14-12-2005 à 08:32:36
Je t'avoue que je n'ai pas encore fait la partie sur la construction du pack. Mais j'ai fait la partie sur l'analyse de la clientèle, qui fonctionne sur le même principe (retrouver UN type d'évènement pour UN client = recherche multi-critère).
L'idée étant que les listes extraites des filtres élaborés ne le soient pas sur la liste originelle (les 17251 lignes). Mais je vais y plancher ce matin
Marsh Posté le 02-12-2005 à 23:56:52
Bonjour, j'ai un projet VBA à effectuer pour ma licence management, et je débute complètement.
Donc j'aurais aimé profiter de vos connaissances d'experts.
J'ai acheté VBA Excel pour les nuls qui m'a donné pour l'instant quelques bases, mais je butte quand même.
J'apprécierai beaucoup votre aide, si je suis pas clair je vous montrerai le sujet...
Je me suis intéressé à beaucoup de choses dans l'informatique, le HTML, les bases de données SQL (pour ma culture, sans approfondir) et j'espère qu'avec votre aide, je pourrais apprendre grâce à ce projet.