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

VBA Word Discussion :

VBA-Word:Erreur 6 de dépassement de capacité


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Points : 16
    Points
    16
    Par défaut VBA-Word:Erreur 6 de dépassement de capacité
    Bonjour, je travaille sur une application qui fait appel à une macro word de fusion.
    Cette application comporte trois sous applications utilisant la même macro mais avec des sources de données différentes.
    Cependant une seule des trois sous applications pose problème.
    Lorsque je l'exécute, j'obtient l'erreur 6 (dépassement de capacité) et la fermeture de l'application.
    Cependant en mode debogage tout se passe bien et cette sous application semble prendre le même itinéraire que les deux autres.
    Voici le code de la macro word:


    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
    Public Sub MAIN()
    Dim SourceName$
    Dim TitreEtat$
    Dim AssName$
    Dim TypeAss$
    Dim Depositaire$
    Dim DateDepot$
    Dim NumDepot$
    Dim NbPvrsAGO$
    Dim NbActionsAGO$
    Dim NbVoixAGO$
    Dim NbPvrsAGE$
    Dim NbActionsAGE$
    Dim NbVoixAGE$
    SourceName$ = WordBasic.[GetDocumentVar$]("FusionSource")
    TitreEtat$ = WordBasic.[GetDocumentVar$]("TitreEtat")
    AssName$ = WordBasic.[GetDocumentVar$]("AssName")
    TypeAss$ = WordBasic.[GetDocumentVar$]("TypeAss")
    Depositaire$ = WordBasic.[GetDocumentVar$]("Depositaire")
    DateDepot$ = WordBasic.[GetDocumentVar$]("DateDepot")
    NumDepot$ = WordBasic.[GetDocumentVar$]("NumDepot")
    NbPvrsAGO$ = WordBasic.[GetDocumentVar$]("NbPvrsAGO")
    NbActionsAGO$ = WordBasic.[GetDocumentVar$]("NbActionsAGO")
    NbVoixAGO$ = WordBasic.[GetDocumentVar$]("NbVoixAGO")
    NbPvrsAGE$ = WordBasic.[GetDocumentVar$]("NbPvrsAGE")
    NbActionsAGE$ = WordBasic.[GetDocumentVar$]("NbActionsAGE")
    NbVoixAGE$ = WordBasic.[GetDocumentVar$]("NbVoixAGE")
     
    ' Fusion
    If WordBasic.MsgBox("La fusion va être effectuée à partir du fichier source: " + SourceName$, "Fusion", 33) = -1 Then
     
    WordBasic.MailMergeOpenDataSource Name:=SourceName$, ConfirmConversions:=0, ReadOnly:=0, LinkToSource:=1, AddToMru:=0, PasswordDoc:="", PasswordDot:="", Revert:=0, WritePasswordDoc:="", WritePasswordDot:="", Connection:="", SQLStatement:="", SQLStatement1:=""
     
    WordBasic.MailMerge CheckErrors:=2, Destination:=0, MergeRecords:=0, From:="", To:="", Suppression:=0, MailMerge:=1, MailSubject:="", MailAsAttachment:=0, MailAddress:=""
     
    WordBasic.EditReplace Find:="@TITRE_ETAT@", Replace:=TitreEtat$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
    WordBasic.EditReplace Find:="@ASSEMBLEE@", Replace:=AssName$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
    WordBasic.EditReplace Find:="@DEPOSITAIRE@", Replace:=Depositaire$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
    WordBasic.EditReplace Find:="@DATE_DEPOT@", Replace:=DateDepot$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
    WordBasic.EditReplace Find:="@NUMERO_DEPOT@", Replace:=NumDepot$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
     
    Select Case TypeAss$
    Case "E"
        WordBasic.EditFind Find:="NB_ACTIONS_AGO", Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, Format:=0, Wrap:=1, FindAllWordForms:=0
        WordBasic.StartOfLine
        WordBasic.LineDown 1, 1
        WordBasic.CharLeft 1, 1
        WordBasic.TableDeleteColumn
        WordBasic.EditReplace Find:="@NB_PVRS_AGE@", Replace:=NbPvrsAGE$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
        WordBasic.EditReplace Find:="@NB_ACTIONS_AGE@", Replace:=NbActionsAGE$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
        WordBasic.EditReplace Find:="@NB_VOIX_AGE@", Replace:=NbVoixAGE$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
    Case "O"
        WordBasic.EditFind Find:="NB_ACTIONS_AGE", Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, Format:=0, Wrap:=1, FindAllWordForms:=0
        WordBasic.StartOfLine
        WordBasic.LineDown 1, 1
        WordBasic.CharLeft 1, 1
        WordBasic.TableDeleteColumn
        WordBasic.EditReplace Find:="@NB_PVRS_AGO@", Replace:=NbPvrsAGO$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
        WordBasic.EditReplace Find:="@NB_ACTIONS_AGO@", Replace:=NbActionsAGO$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
        WordBasic.EditReplace Find:="@NB_VOIX_AGO@", Replace:=NbVoixAGO$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
    Case "M"
        WordBasic.EditReplace Find:="@NB_PVRS_AGO@", Replace:=NbPvrsAGO$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
        WordBasic.EditReplace Find:="@NB_ACTIONS_AGO@", Replace:=NbActionsAGO$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
        WordBasic.EditReplace Find:="@NB_VOIX_AGO@", Replace:=NbVoixAGO$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
        WordBasic.EditReplace Find:="@NB_PVRS_AGE@", Replace:=NbPvrsAGE$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
        WordBasic.EditReplace Find:="@NB_ACTIONS_AGE@", Replace:=NbActionsAGE$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
        WordBasic.EditReplace Find:="@NB_VOIX_AGE@", Replace:=NbVoixAGE$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
    End Select
     
    WordBasic.InsertPageNumbers Type:=1, Position:=1, FirstPage:=1
     
    Call SupprimerArobase.MAIN
    ', Run:=1, Show:=0, Description:="", NewName:=""
     
    Call FermerModele.MAIN
    ', Run:=1, Show:=0, Description:="", NewName:=""
    WordBasic.StartOfDocument
     
    End If
    End Sub

    Merci de votre aide

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Si ça fonctionne normalement au pas par pas, ça ressemble à un problème de délai entre chaque instruction. Essaie d'ajouter DoEvents entre chacune d'elles. Je pense qu'ici ça devrait suffire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    WordBasic.MailMergeOpenDataSource Name:=SourceName$, ConfirmConversions:=0, ReadOnly:=0, LinkToSource:=1, AddToMru:=0, PasswordDoc:="", PasswordDot:="", Revert:=0, WritePasswordDoc:="", WritePasswordDot:="", Connection:="", SQLStatement:="", SQLStatement1:=""
    DoEvents
    WordBasic.MailMerge CheckErrors:=2, Destination:=0, MergeRecords:=0, From:="", To:="", Suppression:=0, MailMerge:=1, MailSubject:="", MailAsAttachment:=0, MailAddress:=""
    DoEvents
    Tu dis
    A+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Points : 16
    Points
    16
    Par défaut Merci
    Merci beaucoup,
    le programme semble marcher...
    Tu es trop fort

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Non, c'est DoEvents. On devrait tous sortir avec un DoEvents sur soi
    Jète un oeil à DoEvents, dans l'aide, elle t'expliquera tout
    A+

Discussions similaires

  1. "erreur d'exécution" dépassement de capacité
    Par guigui71 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 30/04/2010, 01h04
  2. Erreur 400 ou dépassement de capacité
    Par Girly dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 22/10/2008, 10h39
  3. [VBA-E] erreur 1004 et depassement de capacité dans une boucle
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 11/02/2007, 13h37
  4. [VBA Word] erreur '5535' en publipostant
    Par Korhyana dans le forum VBA Word
    Réponses: 9
    Dernier message: 22/11/2006, 17h03
  5. Réponses: 8
    Dernier message: 06/02/2006, 14h34

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