1 variable qui sert dans des call sub ...

BelTitou

XLDnaute Nouveau
Bonjour à toutes et à tous ... j'ai un problème... sinon je serais pas là...
voilà:
j'ai une macro qui doit en rappeller plusieurs, comment faire pour que toutes mes variables ne soient déclarées qu'une fois au début de la macro principale et puissent etre utilisables dans toutes les sous-macro?

voilà ma macro principale:
Sub macro_saisie_affaire()
'
' macro_saisie_affaire Macro
' Macro enregistrée le 10/03/2009 par Installateur
'
' Définition Variables
Dim Code_Affaire, Chemin_Base, Chemin_Final, Chemin_Modeles As String
Dim Fichier_Temps, Fichier_Chiffrage, Fichier_Renseignments As String
Dim Fichier_Liste_Clients As String
Dim Suppression_Zone_Client, Suppression_Zone_Contact As String
Dim Prout As New FileSystemObject
Dim Diag_Oui_Non, Diag_Style
Dim Code_Affaire_OK As String
Chemin_Base = "D:\00-suivi-affaires" & "\affaires-2009\"
Code_Affaire = Sheets("calcul-suivi").[T13].Value
Code_Affaire_Client_Projet = Sheets("calcul-suivi").[T13].Value _
& "---" & Sheets("calcul-suivi").[X29].Value _
& "---" & Sheets("calcul-suivi").[X30].Value
Chemin_Final = Chemin_Base & Code_Affaire_Client_Projet & "\"
Chemin_Modeles = "D:\00-suivi-affaires" & "\00-modeles\*"
Chemin_Echanges = Chemin_Base & Code_Affaire_Client_Projet & "\02-donnees-echanges\"
Fichier_Chiffrage = Chemin_Final & Code_Affaire & "-chiffrage.xls"
Fichier_Temps = Chemin_Final & Code_Affaire & "-temps.xls"
Fichier_Renseignements = Chemin_Final & Code_Affaire & "-renseignements.xls"
Fichier_Devis = Chemin_Final & Code_Affaire & "-devis.xls"
Fichier_BL = Chemin_Final & Code_Affaire & "-bon-livraison.xls"
Fichier_Liste_Clients = "D:\00-suivi-affaires\liste-clients-2009.xls"
Suppression_Zone_Client = Sheets("calcul-suivi").[X34].Value
Suppression_Zone_Contact = Sheets("calcul-suivi").[X37].Value
Diag_Style = vbYesNo + vbExclamation + vbDefaultButton2
'
Call macro_creation_dossiers
If Code_Affaire_OK = "1" Then
Call macro_copie_dossiers
Else
Exit Sub
End If


'
End Sub


et voilà les 2 autres sous macro:

Sub macro_creation_dossiers()
'
' macro_creation_dossiers Macro
' Macro enregistrée le 12/03/2009 par Installateur
'
' Définition Variables
Dim Code_Affaire, Chemin_Base, Chemin_Final, Chemin_Modeles As String
Dim Fichier_Temps, Fichier_Chiffrage, Fichier_Renseignments As String
Dim Fichier_Liste_Clients As String
Dim Suppression_Zone_Client, Suppression_Zone_Contact As String
Dim Prout As New FileSystemObject
Dim Diag_Oui_Non, Diag_Style
Dim Code_Affaire_OK As String
Chemin_Base = "D:\00-suivi-affaires" & "\affaires-2009\"
Code_Affaire = Sheets("calcul-suivi").[T13].Value
Code_Affaire_Client_Projet = Sheets("calcul-suivi").[T13].Value _
& "---" & Sheets("calcul-suivi").[X29].Value _
& "---" & Sheets("calcul-suivi").[X30].Value
Chemin_Final = Chemin_Base & Code_Affaire_Client_Projet & "\"
Chemin_Modeles = "D:\00-suivi-affaires" & "\00-modeles\*"
Chemin_Echanges = Chemin_Base & Code_Affaire_Client_Projet & "\02-donnees-echanges\"
Fichier_Chiffrage = Chemin_Final & Code_Affaire & "-chiffrage.xls"
Fichier_Temps = Chemin_Final & Code_Affaire & "-temps.xls"
Fichier_Renseignements = Chemin_Final & Code_Affaire & "-renseignements.xls"
Fichier_Devis = Chemin_Final & Code_Affaire & "-devis.xls"
Fichier_BL = Chemin_Final & Code_Affaire & "-bon-livraison.xls"
Fichier_Liste_Clients = "D:\00-suivi-affaires\liste-clients-2009.xls"
Suppression_Zone_Client = Sheets("calcul-suivi").[X34].Value
Suppression_Zone_Contact = Sheets("calcul-suivi").[X37].Value
Diag_Style = vbYesNo + vbExclamation + vbDefaultButton2
'
If Prout.FolderExists(Chemin_Final) Then
MsgBox "Ce classeur existe déjà, vérifiez le numéro courrant d'affaire."
Code_Affaire_OK = "1"
Else
Prout.CreateFolder (Chemin_Base & Code_Affaire_Client_Projet)
Code_Affaire_OK = "0"
End If
'
End Sub

et

Sub macro_copie_dossiers()
'
' macro_copie_dossiers Macro
' Macro enregistrée le 12/03/2009 par Installateur
'
' Définition Variables
Dim Code_Affaire, Chemin_Base, Chemin_Final, Chemin_Modeles As String
Dim Fichier_Temps, Fichier_Chiffrage, Fichier_Renseignments As String
Dim Fichier_Liste_Clients As String
Dim Suppression_Zone_Client, Suppression_Zone_Contact As String
Dim Prout As New FileSystemObject
Dim Diag_Oui_Non, Diag_Style
Dim Code_Affaire_OK As String
Chemin_Base = "D:\00-suivi-affaires" & "\affaires-2009\"
Code_Affaire = Sheets("calcul-suivi").[T13].Value
Code_Affaire_Client_Projet = Sheets("calcul-suivi").[T13].Value _
& "---" & Sheets("calcul-suivi").[X29].Value _
& "---" & Sheets("calcul-suivi").[X30].Value
Chemin_Final = Chemin_Base & Code_Affaire_Client_Projet & "\"
Chemin_Modeles = "D:\00-suivi-affaires" & "\00-modeles\*"
Chemin_Echanges = Chemin_Base & Code_Affaire_Client_Projet & "\02-donnees-echanges\"
Fichier_Chiffrage = Chemin_Final & Code_Affaire & "-chiffrage.xls"
Fichier_Temps = Chemin_Final & Code_Affaire & "-temps.xls"
Fichier_Renseignements = Chemin_Final & Code_Affaire & "-renseignements.xls"
Fichier_Devis = Chemin_Final & Code_Affaire & "-devis.xls"
Fichier_BL = Chemin_Final & Code_Affaire & "-bon-livraison.xls"
Fichier_Liste_Clients = "D:\00-suivi-affaires\liste-clients-2009.xls"
Suppression_Zone_Client = Sheets("calcul-suivi").[X34].Value
Suppression_Zone_Contact = Sheets("calcul-suivi").[X37].Value
Diag_Style = vbYesNo + vbExclamation + vbDefaultButton2
'
Prout.CreateFolder (Chemin_Base & Code_Affaire_Client_Projet)
Prout.CopyFolder Chemin_Modeles, Chemin_Final
Prout.CopyFile Chemin_Modeles, Chemin_Final
Name Chemin_Final & "chiffrage.xls" As Chemin_Final & Code_Affaire & "-chiffrage.xls"
Name Chemin_Final & "temps.xls" As Chemin_Final & Code_Affaire & "-temps.xls"
Name Chemin_Final & "renseignements.xls" As Chemin_Final & Code_Affaire & "-renseignements.xls"
Name Chemin_Final & "devis.xls" As Chemin_Final & Code_Affaire & "-devis.xls"
Name Chemin_Final & "bon-livraison.xls" As Chemin_Final & Code_Affaire & "-bon-livraison.xls"
'
End Sub



donc déjà c'est chiant de se coller toutes les variables au début de chaque macro et en plus y'a un truc qui merde: quand la macro de création de dossier s'effectue , elle verifie si le chamin d'acces n'existe pas et si c'est bon je veux qu'elle me mette la variable Code_Affaire_OK à 1 sinon à 0.
et apres dans ma macro principale, ca doit verifier la valeur de cette variable et continuer ou pas la macro mais là ca merde...

au secours svp...
 

BelTitou

XLDnaute Nouveau
Re : 1 variable qui sert dans des call sub ...

ok pour le Public a la place du Dim j'avais trouvé le post et essayé mais j'avais du mal m'y prendre... :( là ca marche nikel.

par contre est-ce que je peux utiliser la meme methode pour toutes mes autres variables juste en les mettant en Public dans les declarations et en mettant la valeur de mes variables uniquement au début de ma macro principale ?
 

job75

XLDnaute Barbatruc
Re : 1 variable qui sert dans des call sub ...

Bonjour, salut Pascal,

donc déjà c'est chiant de se coller toutes les variables au début de chaque macro et en plus y'a un truc qui merde: quand la macro de création de dossier s'effectue , elle verifie si le chamin d'acces n'existe pas et si c'est bon je veux qu'elle me mette la variable Code_Affaire_OK à 1 sinon à 0.
et apres dans ma macro principale, ca doit verifier la valeur de cette variable et continuer ou pas la macro mais là ca merde...

et bravo :rolleyes:

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 325
Membres
102 862
dernier inscrit
Emma35400