problème erreur 9

phil75016

XLDnaute Junior
Bonjour
Je travaille sur excel 2007 et depuis une mise à jour qui s'est effectuée il y a 1 mois je rencontre un problème avec le code ci-dessous :



On Error Resume Next
Sheets("7-Fix Assets").Select
'si on ne trouve pas la feuille en anglais
If Err.Number = 9 Then

Sheets("7-Immob").Select
'si on ne trouve pas non plus la feuille en francais
If Err.Number = 9 Then
MsgBox ("Page 7 non traitée")
Else
Range("D5:E14,D15:E16,D17:E23,D25:E33,D36:E58").Select
Selection.Locked = False
With Selection.Interior
.ColorIndex = 35
End With

End If

Else
Range("D9:E13,D15:E15,D17:E23,D25:E33,D36:E36").Select
Selection.Locked = False
With Selection.Interior
.ColorIndex = 35
End With
End If


En fait il ne tient pas compte de l'instruction If Err.Number = 9 Then et dans tous les cas que la condition soit remplie ou pas il fait comme si la réponse est vraie et donc me donne le message "Page 7 non traitée".
Si quelqu'un a une idée pour résoudre mon problème ou le contourner je le remercie d'avance.
 
C

Compte Supprimé 979

Guest
Re : problème erreur 9

Bonjour Phil75016,

Essaye peut-être avec la condition <> 0 et en effaçant l'erreur au départ
Code:
[B][COLOR=blue] Err.Clear[/COLOR][/B]
  On Error Resume Next
  Sheets("7-Fix Assets")[B][COLOR=green].Activate[/COLOR][/B]
  'si on ne trouve pas la feuille en anglais
  [COLOR=blue][B]If Err.Number <> 0 Then[/B][/COLOR]
    Sheets("7-Immob")[B][COLOR=green].Activate[/COLOR][/B]
    'si on ne trouve pas non plus la feuille en francais
    [COLOR=blue][B]If Err.Number <> 0 Then[/B][/COLOR]
      MsgBox ("Page 7 non traitée")
    Else
      With Range("D5:E14,D15:E16,D17:E23,D25:E33,D36:E58")
        .Locked = False
        .Interior.ColorIndex = 35
      End With
    End If
  Else
    With Range("D9:E13,D15:E15,D17:E23,D25:E33,D36:E36")
      .Locked = False
      .Interior.ColorIndex = 35
    End With
  End If
  ' Ne pas oublier de remettre la redirection normale des erreurs
  [COLOR=blue][B]On Error GoTo 0[/B][/COLOR]

A+
 
Dernière modification par un modérateur:

pierrejean

XLDnaute Barbatruc
Re : problème erreur 9

Bonjour phil

Salut BrunoM45

je l'ai fait alors:

Code:
Sub test()
On Error Resume Next
Sheets("7-Fix Assets").Select
'si on trouve la feuille en anglais
If Err.Number = 0 Then
  Range("D9:E13,D15:E15,D17:E23,D25:E33,D36:E36").Select
  Selection.Locked = False
  With Selection.Interior
    .ColorIndex = 35
  End With
  Exit Sub
Else
 'sinon
 'reprise de la gestion d'erreur
 On Error GoTo 0
 On Error Resume Next
 Sheets("7-Immob").Select
  If Err.Number = 0 Then
'si on trouve la feuille en francais
   Range("D5:E14,D15:E16,D17:E23,D25:E33,D36:E58").Select
   Selection.Locked = False
   With Selection.Interior
    .ColorIndex = 35
   End With
   Exit Sub
  End If
End If
MsgBox ("Page 7 non traitée")
End Sub
 

phil75016

XLDnaute Junior
Re : problème erreur 9

merci pour vos réponse
Bruno, la macro ne fonctionne pas si la feuille est en français, il m'indique "Page 7 non traitée"

PierreJean, la macro fonctionne mais je ne m'explique pas pourquoi il ne comprend plus l'err 9?

je corrige : "Pierrejean, la macro ne fonctionne pas non plus car si je suis positionné sur la feuille avant de lancer la macro c'est ok mais si je ne suis pas sur la feuille recherchée, il va bien sur la feuille mais ensuite la macro m'indique "Page 7 non traitée".
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : problème erreur 9

Re,

Bruno, la macro ne fonctionne pas si la feuille est en français, il m'indique "Page 7 non traitée"

Mon code fonctionne très bien sur un Excel 2003

Il faut effectivement rempalcer les ".select" par ".Activate" pour 2007

Je modifie le code dans le post précédent ;):p

A+
 

phil75016

XLDnaute Junior
Re : problème erreur 9

J'ai trouvé ce qui a foutu la pagaille dans les macros. C'est l'installation de la macro complémentaire Euro currrency tools. Je l'ai désinstallée et tout est revenu à la normale. Du coup, je ne connais pas l'utilité de cette macro complémentaire.
Merci à ceux qui ont passé du temps à m'aider.
 
C

Compte Supprimé 979

Guest
Re : problème erreur 9

Re,

"Euro currrency tools" sous 2007
"Outils pour l'euro" sous 2003
est une macro complémentaire qui permettait de remplacer les francs par des euros (me semble t'il)

A+
 

pierrejean

XLDnaute Barbatruc
Re : problème erreur 9

Re

C'est le probleme rencontré lorsque l'on utilise la gestion d'erreur et que l'on se heurte a plusieurs erreurs
Pour le fun une macro fonctionnant sans la gestion d'erreur

Code:
Sub test1()
For Each sh In Sheets
  If sh.Name = "7-Fix Assets" Then
   anglais = True
  End If
  If sh.Name = "7-Immob" Then
   francais = True
  End If
Next
If francais Then
  Sheets("7-Immob").Select
  Range("D5:E14,D15:E16,D17:E23,D25:E33,D36:E58").Select
   Selection.Locked = False
   With Selection.Interior
    .ColorIndex = 35
   End With
   Exit Sub
End If
If anglais Then
   Sheets("7-Fix Assets").Select
   Range("D9:E13,D15:E15,D17:E23,D25:E33,D36:E36").Select
   Selection.Locked = False
   With Selection.Interior
     .ColorIndex = 35
   End With
   Exit Sub
End If
MsgBox ("Page 7 non traitée")
End Sub
 

pierrejean

XLDnaute Barbatruc
Re : problème erreur 9

Re

La même (legerement ) concentrée

Code:
Sub test1()
For Each sh In Sheets
  If sh.Name = "7-Fix Assets" Then
   Page = "7-Fix Assets"
   anglais = True
   plage = "D9:E13,D15:E15,D17:E23,D25:E33,D36:E36"
  End If
  If sh.Name = "7-Immob" Then
   Page = "7-Immob"
   francais = True
   plage = "D5:E14,D15:E16,D17:E23,D25:E33,D36:E58"
  End If
Next
If francais Or anglais Then
  Sheets(Page).Select
  Range(plage).Select
   Selection.Locked = False
   With Selection.Interior
    .ColorIndex = 35
   End With
   Exit Sub
End If
MsgBox ("Page 7 non traitée")
End Sub
 

Discussions similaires

Réponses
11
Affichages
439

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal