IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Clore un statement


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 28
    Par défaut Clore un statement
    Bonjour,


    J'ai un message d'erreur Expected: end of statement


    Voici le script:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    Sub Nat()
     
     
     
    Dim i As Long
    Dim j As Long
    Dim k As Long
    Dim wbName As String
     
    j = 1
     
    Application.Goto Worksheets(1).Range("E7")
     
    For i = 7 To ThisWorkbook.Worksheets(1).Range("A65000").End(xlUp).Row
        If Cells(i, 5) = Cells(i + 1, 5) Then
     
     
    Workbooks.Add
    Application.Goto ThisWorkbook.Worksheets(1).Range("E7")
     
     
            If ThisWorkbook.Worksheets(1).Cells(i, 3) < ThisWorkbook.Worksheets(1).Cells(i + 1, 3) Then
                'Take C
                    Workbooks(2).Worksheets(1).Cells(j, 1) = ThisWorkbook.Worksheets(1).Cells(i, 8)
     
            ElseIf (ThisWorkbook.Worksheets(1).Cells(i, 3) > ThisWorkbook.Worksheets(1).Cells(i + 1, 3)) _
                    And ThisWorkbook.Worksheets(1).Cells(i, 3) < 37226 Then
                    'Take C
                    Workbooks(2).Worksheets(1).Cells(j, 1) = ThisWorkbook.Worksheets(1).Cells(i, 8)
     
            ElseIf (ThisWorkbook.Worksheets(1).Cells(i, 3) > ThisWorkbook.Worksheets(1).Cells(i + 1, 3)) _
                    And ThisWorkbook.Worksheets(1).Cells(i, 3) > 37226 Then
                    Workbooks(2).Worksheets(1).Cells(j, 1) = ThisWorkbook.Worksheets(1).Cells(i + 1, 8)
     
            Else: Workbooks(2).Worksheets(1).Cells(j, 1) = ThisWorkbook.Worksheets(1).Cells(i, 8)
     
            End If
     
     
                    For k = 13 To 107
                        If IsEmpty(Cells(i, k)) And IsEmpty(Cells(i + 1, k)) Then
                            Else:
                            Workbooks(2).Worksheets(1).Cells(j, 2) = ThisWorkbook.Worksheets(1).Cells(6, k)
                            Workbooks(2).Worksheets(1).Cells(j, 4) = ThisWorkbook.Worksheets(1).Cells(i, k).Value + ThisWorkbook.Worksheets(1).Cells(i + 1, k).Value
                            j = j + 1
                        End If
                    Next
     
                    j = 1
     
                    Workbooks(2).Worksheets(1).Cells(1, 3) = "EUR"
     
                    Application.Goto Workbooks(2).Worksheets(1).Range("A1")
     
                    Workbooks(2).Worksheets(1).Range("A1").Copy
                    Workbooks(2).Worksheets(1).Range("A1:A" & Workbooks(2).Worksheets(1).Range("B65000").End(xlUp).Row).Select
                    ActiveSheet.Paste
     
                    Workbooks(2).Worksheets(1).Range("C1").Copy
                    Workbooks(2).Worksheets(1).Range("C1:C" & Workbooks(2).Worksheets(1).Range("B65000").End(xlUp).Row).Select
                    ActiveSheet.Paste
     
                    Workbooks(2).Worksheets(1).Columns("B:B").NumberFormat = "m/d/yyyy"
                    Application.Goto Workbooks(2).Worksheets(1).Range("A1")
     
    wbName = ThisWorkbook.Worksheets(1).Cells(i, 5) & " - " & Workbooks(2).Worksheets(1).Range("A1")
     
     
    ActiveWorkbook.SaveAs Filename:="C:\New Folder\"Nati".csv", _
    FileFormat:=xlCSV
     
     
    Application.DisplayAlerts = False
    Workbooks(wbName).Close
    Application.DisplayAlerts = True
     
            End If
     
    Next
     
    End Sub

    L'erreur a lieu ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.SaveAs Filename:="C:\New Folder\"Nati".csv", _
    FileFormat:=xlCSV

    Je n'arrive pas à déterminer comment clore ce statement.
    Est ce que quelqu'un sait ce qu'il faut ajouter?

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Par défaut
    Bonjour
    La création du nom de fichier est un peu bizarre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.SaveAs Filename:="C:\New Folder\"Nati".csv", _
    FileFormat:=xlCSV



    Essaye plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.SaveAs Filename:="C:\New Folder\Nati.csv", _
    FileFormat:=xlCSV

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 28
    Par défaut
    Salut fgiambelluco,

    Bien vu, les guillemets ne sont pas accepté pour le nom d'un dossier/fichier... J'ai pas encore les idées bien en place ce matin...

    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JDBC] java.sql.SQLException: Closed Statement
    Par cmoulin dans le forum JDBC
    Réponses: 4
    Dernier message: 03/09/2004, 17h22
  2. Réponses: 15
    Dernier message: 20/07/2004, 09h09
  3. Réponses: 2
    Dernier message: 05/07/2004, 17h50
  4. Réponses: 5
    Dernier message: 28/04/2004, 15h09
  5. [PostgreSQL] Refus de STATEMENT dans un trigger
    Par alex2205 dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/03/2003, 12h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo