Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 19 April 2010 19:31

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

lire une variable d'un autre sub [MapBasic]

Bonjour à tous,

Je suis en train de créer un mbx pour les besoins interne de notre compagnie.

En fait j'ai le code dont les 2 sub suivantes et j'aimerais que ma variables "path_tab" ait la même valeur que ma variable "path_excel" qui est égale à la valeur de mon control 1 sauf pour le .xls. Le but est d'ouvrir, de façons automatique, un excel et enregistre en .tab au même endroit.


Je vois 2 possibilités

1. Est-il possible de tronquer le .xls et le remplacer par le .tab.

du genre

path_tab = Replace(path_excel, ".xls", ".tab")

Ou

2. Prendre notre variable "path_tab"  de la deuxième sub et lui donne la valeur de la variable "exceldir" de la première sub (un peu comme ReadControlValue(1)....ReadvarValue(x)). Dans le cas échéan, la sub 1 est toujours appeler avant la sub 2 et pour démarer la sub 2 il faut absolument que "exceldir" <> ""

ensuite

dim a as string
a = path_tab + ".tab"

'*************************************Code

sub path

dim path_filedir as string
dim exceldir As String
dim excelname As String
dim filepathl As String

path_filedir = FileOpenDlg("C:\sig\intranet\Ventes\Ratio_vente_soum\par_produit","","xls","Ouvrir Excel")
exceldir = PathToDirectory$(path_filedir)
excelname = PathToFileName$(path_filedir)
filepath = exceldir + excelname

Alter Control 1 Value filepath

end sub

sub fusion_xls

dim path_excel as string
dim path_tab as string


path_excel = ReadControlValue(1)
path_tab =?

Register Table path_excel TYPE XLS Range "Feuil1!A16:F1000"  Interactive Into path_tab

....

end sub

'***************************************fin

Merci,
Jean-François Cyr

Dernière modification par jean94 (Mon 19 April 2010 19:55)

Hors ligne

 

#2 Tue 20 April 2010 08:49

SIGEAL
Participant assidu
Lieu: Saint Laurent des Combes
Date d'inscription: 5 Sep 2005
Messages: 195
Site web

Re: lire une variable d'un autre sub [MapBasic]

Bonjour,

1- Pour remplacer .xls par .tab :

Code:

path_tab = left$(path_excel, len(path_excel) - 4) + ".tab"

2- Une variable globale déclarée en dehors des sub pourrait faire l'affaire :

Code:

Global PATH

Christophe Damour (SIGéal)

Hors ligne

 

#3 Tue 20 April 2010 14:17

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

Re: lire une variable d'un autre sub [MapBasic]

Merci SIGEAL

Hors ligne

 

Pied de page des forums

Powered by FluxBB