Bug VBA

condors.s

XLDnaute Occasionnel
Bonjour le forum,
J'ai ecris une petite macro complémentaire excel permettant de faire de la mise en page.
J'ai cependant régulièrement des messages d'erreur d'excel me disant que l'exécution est interrompue (cf Message joint).

Est il possible de faire en sorte de "stabiliser" la macro.

Merci à tous
 

Pièces jointes

  • Message erreur Visual Basic.xls
    47.5 KB · Affichages: 37

tototiti2008

XLDnaute Barbatruc
Re : Bug VBA

Bonjour condor.s,

Je n'ai jamais vu ça.
visiblement, ton code est protégé donc pas possible de faire un débogage pour voir la ligne concernée...
à moins d'avoir laissé un point d'arrêt dans le code, un espion qui arrête ton code sur condition ou un Debug.Assert, je ne vois pas.

Edit : Bonjour PierreJean ;)
en effet, pas facile sans la moindre ligne de code...
 

condors.s

XLDnaute Occasionnel
Re : Bug VBA

Voici le code en question
Merci à tous

Code:
Sub MacroMEFCondor()
  Dim Montableau As Range
  Dim NbLigne As Integer
  
  Set Montableau = Selection.CurrentRegion
  NbLigne = Montableau.Rows.Count
  
  'tout le tableau
  '----------------
  With Montableau
    'Motifs
    With .Interior
        .ColorIndex = 2
        .Pattern = xlSolid
    End With
    'Police
    With .Font
        .Name = "Arial"
        .Size = 10
    End With
  End With
  
  '1ere ligne du tableau
  '----------------------
  With Montableau.Rows(1)
    'Police
    With .Font
        .Name = "Arial"
        .Size = 8
        .Bold = True
        .ColorIndex = 38
    End With
    'Bordures
    With .Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
  End With
  
  '2eme ligne du tableau
  '----------------------
  With Montableau.Rows(2)
    'Police
    With .Font
        .Name = "Arial"
        .Size = 8
        .Bold = True
    End With
  End With
  
  '3eme ligne du tableau
  '----------------------
  With Montableau.Rows(3)
    'Police
    With .Font
        .Name = "Arial"
        .Size = 8
        .Bold = True
        .ColorIndex = 38
    End With
    'Bordures
    With .Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With .Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
  End With

  'Dernière ligne du tableau
  '----------------------
  With Montableau.Rows(NbLigne)
    'Police
    With .Font
        .Name = "Arial"
        .Size = 8
        .ColorIndex = 38
    End With
    'Bordures
    With .Borders(xlEdgeTop)
        .LineStyle = xlDash
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With .Borders(xlEdgeBottom)
        .LineStyle = xlDash
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
  End With

End Sub
 

pierrejean

XLDnaute Barbatruc
Re : Bug VBA

Re

Une precaution elementaire a mon sens

Code:
Set Montableau = Selection.CurrentRegion
  NbLigne = Montableau.Rows.Count
 
[COLOR=blue]If Nbligne<3 then[/COLOR]
[COLOR=blue] msgbox("selection trop petite")[/COLOR]
[COLOR=blue] exit sub[/COLOR]
[COLOR=blue]end if[/COLOR]
.....
 

Discussions similaires

Réponses
9
Affichages
340