Appel d'une fonction

gopo Messages postés 76 Statut Membre -  
gopo Messages postés 76 Statut Membre -
Bonjour,

Je voudrais savoir comment appeler une fonction/procedure dans une aute fonction/procedure :

Je veux apellez : Public Sub lanch() a la fin de Public Sub CommandButton1_Click()

merci !
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. stephane_mc2004 Messages postés 807 Statut Membre 96
     
    c'est tout simple, apres Public Sub CommandButton1_Click(), tu ecris à la ligne lanch(), et si tu veux, tu fais End Sub

    Comme sa :

    Public Sub CommandButton1_Click()
    
    lanch()
    
    End sub
    0
  2. gopo Messages postés 76 Statut Membre 2
     
    Merci, j'essaie ca !

    Bonne journée A-
    0
  3. stephane_mc2004 Messages postés 807 Statut Membre 96
     
    ok a--
    0
  4. gopo Messages postés 76 Statut Membre 2
     
    Erreur de syntaxe ... =(

    Enfaite j'ai un problème j'arrive a appeler mes fonction avec call fonction.

    Mais j'ai un souci vraiement bizarre... je vous met mon code ( mon code est vraiment sale, j'ai rien trouvé pour raccourcir le code ... ) :

    Public Sub CommandButton1_Click()
    Dim Variable1 As String
    Dim Variable2 As String
    Dim Variable3 As String
    Dim Variable4 As String
    Dim Variable5 As String
    Dim Variable6 As String
    Dim Variable7 As String
    
    Dim i As Integer
    Dim j As Integer
    Dim h As Integer
    
    i = 9
           For i = 9 To 846 Step 27
             If Cells(i, 2) = "753220 - PARIS KELLER ACP" Then
                    For j = 5 To 26 Step 1
                        
                     If Cells(i + 1, j) = "Janvier" Then
                         ActiveWorkbook.Sheets("Détail ACP").Select
                         
                         Variable1 = ActiveSheet.Cells(i + 3, j).Value
                         Variable2 = ActiveSheet.Cells(i + 8, j).Value
                         Variable3 = ActiveSheet.Cells(i + 12, j).Value
                         Variable4 = ActiveSheet.Cells(i + 14, j).Value
                         Variable5 = ActiveSheet.Cells(i + 16, j).Value
                         Variable6 = ActiveSheet.Cells(i + 19, j).Value
                         Variable7 = ActiveSheet.Cells(i + 20, j).Value
                         
                         Workbooks.Open ActiveWorkbook.Path & "\TBM ACP.xls"
                         
                         ActiveWorkbook.Sheets("Paris Keller").Cells(10, 7).Value = Variable1
                         ActiveWorkbook.Sheets("Paris Keller").Cells(11, 7).Value = Variable2
                         ActiveWorkbook.Sheets("Paris Keller").Cells(12, 7).Value = Variable3
                         ActiveWorkbook.Sheets("Paris Keller").Cells(14, 7).Value = Variable4
                         ActiveWorkbook.Sheets("Paris Keller").Cells(15, 7).Value = Variable5
                         ActiveWorkbook.Sheets("Paris Keller").Cells(16, 7).Value = Variable6
                         ActiveWorkbook.Sheets("Paris Keller").Cells(18, 7).Value = Variable7
                         
                         ActiveWorkbook.Sheets("Paris Keller").Select
                       
                       
                            Exit For
                            End If
                Next
    
    Call argenteuil_92
    
    Sub argenteuil_92()
    Dim Variable1 As String
    Dim Variable2 As String
    Dim Variable3 As String
    Dim Variable4 As String
    Dim Variable5 As String
    Dim Variable6 As String
    Dim Variable7 As String
    
    Dim i As Integer
    Dim j As Integer
    Dim h As Integer
                 For i = 9 To 6000 Step 27
             If Cells(i, 2) = "950820 - ARGENTEUIL 92 ACP" Then
                    For j = 5 To 846 Step 1
                        
                     If Cells(i + 1, j) = "Janvier" Then
                         'ActiveWorkbook.Sheets("Détail ACP").Select
                         
                         Variable1 = ActiveSheet.Cells(i + 3, j).Value
                         Variable2 = ActiveSheet.Cells(i + 8, j).Value
                         Variable3 = ActiveSheet.Cells(i + 12, j).Value
                         Variable4 = ActiveSheet.Cells(i + 14, j).Value
                         Variable5 = ActiveSheet.Cells(i + 16, j).Value
                         Variable6 = ActiveSheet.Cells(i + 19, j).Value
                         Variable7 = ActiveSheet.Cells(i + 20, j).Value
                         
                         ' Workbooks.Open ActiveWorkbook.Path & "\TBM ACP.xls"
                         
                         ActiveWorkbook.Sheets("ARGENTEUIL 92").Cells(10, 7).Value = Variable1
                         ActiveWorkbook.Sheets("ARGENTEUIL 92").Cells(11, 7).Value = Variable2
                         ActiveWorkbook.Sheets("ARGENTEUIL 92").Cells(12, 7).Value = Variable3
                         ActiveWorkbook.Sheets("ARGENTEUIL 92").Cells(14, 7).Value = Variable4
                         ActiveWorkbook.Sheets("ARGENTEUIL 92").Cells(15, 7).Value = Variable5
                         ActiveWorkbook.Sheets("ARGENTEUIL 92").Cells(16, 7).Value = Variable6
                         ActiveWorkbook.Sheets("ARGENTEUIL 92").Cells(18, 7).Value = Variable7
                         
                         ActiveWorkbook.Sheets("ARGENTEUIL 92").Select
                         Exit For
                    End If
                Next
                Exit For
       End If
    Next
    
    End Sub
    


    Ma fonction copie les valeur souhaité selon i, et les copie dans un autre classeur, ce qui se passe ( ce qui ne devrait pas ce passé ) c'est que tout ce passe bien dans ma boucle aucune erreur ( F8 : ok ) mais ca ne copie rien ! ca efface mes celulle de mon nouveau classeur et ca ne colle rien de s'ki a été copié avant ... pourquoi ??
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. stephane_mc2004 Messages postés 807 Statut Membre 96
     
    attend je revien, le temps de nettoyer mes yeux et bien lire ton code
    0
  7. gopo Messages postés 76 Statut Membre 2
     
    je remet le code en propre , je vais suprimé ski es répétitif...

    Prend en compte ce code ci :
    Public Sub CommandButton1_Click()
    Dim Variable1 As String
    Dim Variable2 As String
    
    
    Dim i As Integer
    Dim j As Integer
    Dim h As Integer
    
    i = 9
           For i = 9 To 846 Step 27
             If Cells(i, 2) = "753220 - PARIS KELLER ACP" Then
                    For j = 5 To 26 Step 1
                        
                     If Cells(i + 1, j) = "Janvier" Then
                         ActiveWorkbook.Sheets("Détail ACP").Select
                         
                         Variable1 = ActiveSheet.Cells(i + 3, j).Value
                         Variable2 = ActiveSheet.Cells(i + 8, j).Value
                         
                         
                         Workbooks.Open ActiveWorkbook.Path & "\TBM ACP.xls"
                    
                         ActiveWorkbook.Sheets("Paris Keller").Cells(10, 7).Value = Variable1
                         ActiveWorkbook.Sheets("Paris Keller").Cells(11, 7).Value = Variable2
                          
                         ActiveWorkbook.Sheets("Paris Keller").Select
                       
                              Exit For
                            End If
                          Next
                    Exit For
                  End If
              Next
       
     For i = 9 To 846 Step 27
             If Cells(i, 2) = "750670 - PARIS BERCY EXPO ACP" Then
                    For j = 5 To 26 Step 1
                        
                     If Cells(i + 1, j) = "Janvier" Then
                       ActiveWorkbook.Sheets("Détail ACP").Select
                         
                              Variable1 = ActiveSheet.Cells(i + 3, j).Value
                              Variable2 = ActiveSheet.Cells(i + 8, j).Value
                         
                Workbooks.Open ActiveWorkbook.Path & "\TBM ACP.xls"
                         
                              ActiveWorkbook.Sheets("PARIS BERCY").Cells(10, 7).Value = Variable1
                              ActiveWorkbook.Sheets("PARIS BERCY").Cells(11, 7).Value = Variable2
                         
                              ActiveWorkbook.Sheets("PARIS BERCY").Select
                            Exit For
                          End If
                     Next
                Exit For
       End If
    Next
    
    End Sub


    Tout ce passe bien mais, les ligne qui sont soulignée serve 1) a ouvrir la page ou sera copié les celulles et 2) a ouvrir le classeur de destination.

    Si je laisse l'ouverture de feuille & du nouveau classeur sur la deuxieme procedure, ca bug, si je l'enleve ca copie rien ca ne fait que de supprimé les celulle du classeur TBM ACP .. donc je pense qu'il faudrai que j'y mette la feuille souhaité et le classeur de destination sans que ca fasse bugué
    0