Excel et Visual Basic ( Pas VBA )

daffy21 Messages postés 15 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 17 mai 2004 - 31 août 2003 à 13:55
draconux Messages postés 1 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 18 août 2005 - 18 août 2005 à 00:20
Peut utiliser dans un Prog en Visual Basic (Pas VBA),
l'application Excel comme base de données et pour y stocker des informations.

Comment stocker des valeurs au même titre qu'on peut le faire avec Excel dans une cellule.

Les variables sont volatilles et seront vides à la prochaine ouverture du Prog.

Je suis débutant, ca se voit....
J'espere être dans le bon forum.

:question)

6 réponses

cs_Aurelie75 Messages postés 9 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 12 décembre 2008
10 sept. 2003 à 09:16
Coucou,

Désolée de répondre si tardivement à ta demande, mais je viens de m'inscrire sur ce forum.

Tu dois pouvoir déclarer, dans les références de ton projet VB, l'utilisation de la DLL "Microsoft Excel X.X Object Librairy"
(Ou X.X représente la version d'Excel installée actuellement sur ton poste)

Ensuite dans ton programme il te suffira de déclarer une variable globale oXL que tu initialisera pour qu'elle pointe sur une application Excel (visible ou non) que tu lanceras depuis ton programme.

Je te propose donc de déclarer 3 variables globales :

oXL (Objet Excel) destinée à pointer vers l'application Excel
oWB (Objet WorkBook) destinée à pointer vers ton classeur de travail
oWS (Objet WorkSheet) destinée à pointer vers la feuille de travail

Ensuite dans une procédure de ton choix tu peux intialiser le tout par exemple de la manière suivante :

Set oXL = New Excel.Application
oXL.Visible = True

Set oWB = oXL.Workbooks.Add
Set oWS = oWB.ActiveSheet

Bien penser à détruire toutes ces variables dès que tu n'en as plus l'utilité

Fermer le classeur :

Set oWS = Nothing

oWB.Close False 'Ou True si tu souhaite sauvegarder ton travail
Set oWB = Nothing

oXL.Quit
Set oXL = Nothing

Pour explorer toutes les collections et classes disponibles dans Excel, je te conseille d'utiliser la création "automatique" de macros directement dans Excel et ensuite d'étudier le code VBA généré et de reprendre ce qui t'interesse dans ton code VB.

En espérant t'avoir apporté l'aide que tu recherchais.

Bisous

Lili la tigresse

Vive l'analyse fonctionnelle, a quand un DSI compétent à la présidence de la république ?
*Non pas tapez pas sur la tête*
0
daffy21 Messages postés 15 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 17 mai 2004 2
10 sept. 2003 à 11:07
Merci pour ta réponse.
En ce qui concerne VBA j'ai peu de difficulté à programmer. Mais en VB6, les syntaxes sont un peu differentes, mais restent très proches, je pense que je m'en sortirai.

En tout cas, tes réponses me sont précieuses, et je vais tenter d'en tirer profit.

Une question tout de même: Après avoir déclaré mes variables, comment ouvrir un classeur existant nommé et placé sous "C:\Mes documents\Test.xls" ?
Activer la feuille: "Base de données", Saisir la valeur "100" qui a été saisie sur un formulaire VB6 dans une zone de saisie nommée "SaisieX" en A1, puis activer la feuille "Réf".

Merci pour l'aide.

Daffy21 :shy)
0
cs_Aurelie75 Messages postés 9 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 12 décembre 2008
10 sept. 2003 à 11:28
Excuses moi je vais faire rapide car je suis assez préssée, mais je vais essayer de te dépanner

A la place des déclarations que je te proposais tu remplaces par :

Set oWB = oXL.Workbooks.Open("C:\Mes documents\Test.xls")

Set oWS = oWB.Worksheets("Base de données")
oWS.Activate

oWS.Cells(1,1) = SaisieX 'Où SaisieX est la variable dans laquelle tu as stocké la valeur de ta saisie

Set oWS = oWB.Worksheets("Réf")
oWS.Activate

Voili Voilou

J'espère t'avoir aidé

Bisous

Lili la tigresse

Vive l'analyse fonctionnelle, a quand un DSI compétent à la présidence de la république ?
*Non pas tapez pas sur la tête*
0
daffy21 Messages postés 15 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 17 mai 2004 2
10 sept. 2003 à 23:50
Tu as été rapide et efficace, je t'en remercie.

Même dans les bouquins, les chapitres sur l'accès aux fichiers sont très sommaires.
Ces quelques lignes que tu me fournis vont me permettre d'élaborer mon projet. Et à mon avis, je rencontrerai certainement d'autres difficultées. Je n'hésiterai pas à demander de l'aide sur ce forum.

Merci encore.

;)

Et puisque tu te l'ai permises, je me le permet également: Bisous à toi et à bientôt sur ce forum.

daffy21
0

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

Posez votre question
cs_magalou Messages postés 1 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 2 juin 2004
2 juin 2004 à 17:26
Bonjour,

Je suis débutante dans la réalisation de macro sous excel avec visual basic et je dois réaliser une affaire.
Mon sujet est le suivant:

j'ai 2 feuilles sur mon classeur excel. Je voudrais comparer la cellule de la première ligne de ma colonne A de ma feuille 1 à toutes les cellules les unes après les autres de ma colonne B de ma feuille 2. Lorsque qu'il y a similitude entre ces deux cellules je voudrais recopier dans une feuille 3 des infos des 2 lignes correspondantes sur une ligne de la feuille 3. Ceci pour toutes les cellules de la colonne A de la feuille 1.

Merci d'avance pour votre réponse
0
draconux Messages postés 1 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 18 août 2005
18 août 2005 à 00:20
test
0
Rejoignez-nous