Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

utilisation d'une dim dans plusieurs sub

  • Initiateur de la discussion Initiateur de la discussion PHILIP
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

PHILIP

XLDnaute Occasionnel
Bonjour à tous,

loin d'être un expert j'ai besoin de votre aide
j'ai ecris plusieurs sub qui se relient l'une à l'autre par :
Code:
Application.OnTime Now + TimeValue("00:00:20"), "rappine"
(j'ai plusieurs dossiers qui doivent mettre leur données à jour apres actualisation et je n'ai pas touver d'autres moyen que application on time pour laisser le temps de fairer l'actualisation (actualisation plus mis à jour des données (20 secondes) si vous avez une idée pour ameliorer la chose ... ma question est:
Dans la premiere sub j'ai mis une dim:
Code:
Dim nom As String
            nom = "Vk_Tagesbericht_" & Format(Date, "yyyy_MM_dd")
cette dim ,j'aimerai pouvoir l'utiliser dans toutes les subs qui se suivent (a noter qu'elles se trouvent toutes dans le même module
comment dois je faire, faut il écrire public sub ou private sub ?

Merci pour votre aide
 
Re : utilisation d'une dim dans plusieurs sub

Bonjour Philip, bonjour le forum,

Si tu déclares, tout en haut d'un module, ta variable comme publique (Public) elle sera accessible dans tout le projet VBA :
Code:
Public nom As String
Mais pense à l'annuler ou à la redéfinir si nécessaire...
 
Re : utilisation d'une dim dans plusieurs sub

Bonjour Robert,

j'ai mis comme conseillé tout en haut du module et en premier hors sub

Code:
Public nom As String
            nom = "Vk_Tagesbericht_" & Format(Date, "yyyy_MM_dd")
il me met erreur de compilation
instruction incorrecte à l'exterieure d'une procedure
Code:
Public nom As String
            nom = "Vk_Tagesbericht_" & Format(Date, "yyyy_MM_dd")

Sub rapport()
        
            Workbooks.Open ("C:\Documents and Settings\PC42\Bureau\TAGESBERICHT.xls")
            ActiveWorkbook.RefreshAll
            Application.OnTime Now + TimeValue("00:00:20"), "Gustave"
End Sub

gustave lancant une autre sub qui elle lance également une autre sub
 
Re : utilisation d'une dim dans plusieurs sub

Bonjour Minick,

Cela je l'avais fais mais ce que je voudrais c'est que cette dim soit accessible pour plusieurs sub qui s'appellent c'est pourquoi Robert m'a conseillé de la mettre en public
 
Re : utilisation d'une dim dans plusieurs sub

Re,

J'ai juste dit de deplacer l'affectation de 'nom' pas la declaration de 'nom'.

Le Public Nom... reste en dehors du Sub et Nom=... lui vient bien dans un Sub
(celui qui lancera l'enchainement des autres macros)
 
Re : utilisation d'une dim dans plusieurs sub

Voila comme je l'ai mise les instruction se suivant, c'est pas juste ?
Code:
Public nom As String
            nom = "Vk_Tagesbericht_" & Format(Date, "yyyy_MM_dd")
Code:
Sub rapport()
        
            Workbooks.Open ("C:\Documents and Settings\PC42\Bureau\TAGESBERICHT.xls")
            ActiveWorkbook.RefreshAll
            Application.OnTime Now + TimeValue("00:00:20"), "Gustave"
End Sub

Code:
Sub Gustave()
    
            nom = "Vk_Tagesbericht_" & Format(Date, "yyyy_MM_dd")
            Workbooks.Add
            ActiveWorkbook.SaveAs Filename:=("c:\Documents and Settings\PC42\Bureau\" & nom), FileFormat:=xlExcel8
            Sheets("Feuil1").Name = "Tagesleitung"
            Sheets("Feuil2").Name = "Ruckstand Znl"
            Sheets("Feuil3").Name = "Ruckstand Zdl"
            Sheets.Add after:=Sheets(Sheets.Count)
            ActiveSheet.Name = "Status 6"
            Windows("TAGESBERICHT.xls").Activate
            Sheets("Tagesleistung").Select
            ActiveWorkbook.RefreshAll
            Application.Wait Now + TimeValue("00:0:20")
            Windows("TAGESBERICHT.xls").Activate
            Sheets("Tagesleistung").Select
            Cells.Select
            Selection.Copy
            Windows(nom & ".xls").Activate
            Sheets("tagesleitung").Select
            Cells.Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
            Windows("TAGESBERICHT.xls").Activate
            Cells.Select
            Selection.Copy
            Windows(nom & ".xls").Activate
            Cells.Select
            Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
            Windows("TAGESBERICHT.xls").Activate
            Cells.Select
            Selection.Copy
            Windows(nom & ".xls").Activate
            Range("A1").Select
            Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
            Application.CutCopyMode = False
            Rows("1:1").RowHeight = 71.25
            Rows("2:2").RowHeight = 6
            Rows("3:3").RowHeight = 22.75
            Rows("4:4").RowHeight = 6
               
        Call Gilles
 End Sub
 
Re : utilisation d'une dim dans plusieurs sub

Code:
Public nom As String
            [U][B][COLOR=Red]nom = "Vk_Tagesbericht_" & Format(Date, "yyyy_MM_dd")[/COLOR][/B][/U]
Enleve ce que j'ai mi en rouge/gras/souligné


Edit:

Petite precision, si tu affectes 'nom' dans la procedure 'Gustave' et que tu veux l'utiliser
dans toute les autres procedures, il faut enlever la declaration de 'nom' (Dim nom...)
dans toutes ces procedures.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
761
D
Réponses
25
Affichages
4 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…