Baguauda
Messages postés219Date d'inscriptionmercredi 31 août 2005StatutMembreDernière intervention28 novembre 2008
-
17 oct. 2005 à 14:08
Baguauda
Messages postés219Date d'inscriptionmercredi 31 août 2005StatutMembreDernière intervention28 novembre 2008
-
20 oct. 2005 à 15:55
Bonjour a tous,
me voici parmis vous car je crains de perdre la bataille face a l'ordi.
Je dois me faire une petite application sous Excel et donc en VB6, je connais parfaitement VB.Net mais VB6 je calle un peut, et la prog sous excel est encore pire.
Ce qui m'aiderais enormement c'est des sources mais n'ayant que Visual Studio 2003 il a tendence a pourrir les sources VB6 pour les afficher a ca manière.
Premier problème les constructeurs VB6.
Public sub new () bas il prend pas une explication ?
ca non plus il n'aime pas
Sub Article(Cod As Integer, libelle As String, qte As Long, ref As Long, encours As String)
End Sub
Second probleme plus serieux celui la.
Explication du projet, pour commencer histoire de mieux recituer.
Je dois manipuler plusieur feuille excel pour faire un petit traitement dessus, bien sur le classeurs ne seras pas toujours le meme et donc les noms de feuilles non plus. Il faut que je generalise.
J'ai fait quelques test et malgres que je pense avoir compris comment ce langage fonctionne je n'arrive pas a "pointer" mes feuille.
J'ai toujours 2 message d'Erreur un qui veut absolument que j'utilisa With, et meme apres utilisation de With il continue a gueuler.
Apres moulte bidouilles pour arriver a enlever ce message d'erreur j'ai un nouveau message me disant que a l'index donné il n'y a rien et pourtant 9 feuilles c'est pas rien.
J'ai un peu tout essayer mais rien n'y fait.
Donc je serais extrement ravi que quelqu'un entende ce message de detresse et me vienne en aide avec un code ou bien un lien, des conseils, ou alors mon cas est vraiment desesperant.
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 17 oct. 2005 à 14:47
Tu n'auras pas oublié de faire référence à Microsoft Excel librairy 9.0
Car en général, l'erreur 91 du bloc with non défini vient de là...
Sinon, si tu veux des exemples de codes VBA sous Excel, rien de plus simple...
Tu n'as qu'à faire une macro enregistrée sous Excel de ce que tu veux
faire manuellement. Tu verras alors comment la machine écrit en VBA, tu
pourras récupérer ce code afin de le coller dans ton code VB6.
TBBUIM
Baguauda
Messages postés219Date d'inscriptionmercredi 31 août 2005StatutMembreDernière intervention28 novembre 20081 17 oct. 2005 à 17:10
t'as reponse m'as bien aider a comprendre le fonctionnement.
Je tiens a dire que l'une des plus grosse erreur etait la non utilisation de Set.
Je ne ferme pas le topic pour le moment car j'aurais peu etre encore besoin d'aide.
voici un bout de mon code
Sub alpha()
With Worksheets(5).Select
Dim mapage As Worksheet
Set mapage = ActiveSheet
Dim nom As String
nom = mapage.Name
mapage.Range("A1").value = nom
End With
Baguauda
Messages postés219Date d'inscriptionmercredi 31 août 2005StatutMembreDernière intervention28 novembre 20081 18 oct. 2005 à 15:58
Cette solution Mr Excel n'est veut point.
il souhaite avoir un := suplementaire, par contre je ne sais pas ou il veut que ca soit.
Bon bas vba commence a me fatiguer
meme une collection toute simple decide de m'*****
dim art as new Article
liste.add(index) = art
je vois pas comment faire autrement.
En plus les temps d'execution sont vraiment trop long.
Je ne fait que la lecture pour le moment et il lui faut deja 1 minute.
J'ai tenter de voire ce que ca donnais avec vb.net mais du coup il manque pas mal de methodes.
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 19 oct. 2005 à 09:52
Je ne vois pas en quoi les macros enregistrées ne peuvent pas t'aider, au contraire!
Lorsque j'ouvre mon classeur et que je clic sur la feuil2 pour la sélectionner.
Il m'affiche:
Sheets("Feuil2").select
Une fois que tu es sur la page que tu désires, tu peux tout simplement écrire
Range("A1").value = 2x2
Tout ça tu le vois en faisant une macro enregistrée...
TBBUIM
Baguauda
Messages postés219Date d'inscriptionmercredi 31 août 2005StatutMembreDernière intervention28 novembre 20081 19 oct. 2005 à 17:32
Remoi.
Euh donc le programme est ecrit et fonctionne presque parfaitement.
Je l'ai fait sous vb ce qui fut nettement plus facile pour moi.
1 probleme viens d'apparaitre et je ne trouve pas d'info, ce qui est plus deroutant c'est ca fonctionnais tres bien cet aprem
Private
Sub affichage()
Dim ws
As Worksheet
Dim rw
As Range
Dim ligne
As
Integer
ligne = 2
ws = cl.getWbExcel.Worksheets(1)
rw = ws.Rows
Dim article
As article
For
Each article
In liste_All_Articles
Try
rw.Cells(ligne, 1) = article.getCode
rw.Cells(ligne, 2) = article.getNom
rw.Cells(ligne, 3) = article.getSection
rw.Cells(ligne, 4) = article.getTyp
rw.Cells(ligne, 5) = article.getQuantite
rw.Cells(ligne, 6) = article.getreference
Dim ls
As
Integer
For ls = 0
To article.getListe.Count - 1
rw.Cells(ligne, 7 + ls) = article.getListe(ls)
Next
ligne = ligne + 1
Catch ex
As System.Runtime.InteropServices.COMException
MsgBox(ex.Message)
End
Try
Next
End
Sub
et boum j'ai le droit a
System.runtime.InteropServices.Comexception
HRESULT 0x800A03EC
la modif que j'ai faite c'est que met getCode, getQuantite au lieu de retourné une String retourne un Long et un Decimel, mais je pense pas que ca vienne de la car il ne prend pas le getNom qui est un String
euh le second probleme c'est comment supprimer ou vide une veuille excel depuis vb, j'ai tester pas mal de truc mais sans resultat.
Baguauda
Messages postés219Date d'inscriptionmercredi 31 août 2005StatutMembreDernière intervention28 novembre 20081 20 oct. 2005 à 15:55
voila je clos ce sujet la programme est terminer et il fonctionne tres bien.
L'erreur juste au dessus a ete corriger en mettant tous les type en string et en me demerdant apres avec les .Parse.