XL 2013 Gestion d'erreurs macro vba excel

Lhomheureux

XLDnaute Nouveau
Bonjour à tous.
Je viens vers vous afin que vous puissiez à coder une gestion d'erreurs dans mon programme.
Il se trouve que lorsque je l'execute sur le classeur "ZONE CLIENTS 2" il s'exécute sans problème.
Mais lorsque je veux le faire sur le classeur "ZONE CLIENTS 1", cela génère une erreur. En effet, la feuille recherchée ne se trouve pas dans ledit classeur.
J'aimerais donc pour coder une gestion d'erreur qui lui dise de passer à la feuille suivante, mais j'y arrive pas.

Si vous pouvez m'accordez de votre temps pour regarder cela, ce serait très gentil de votre part.
Je vous joins les fichiers.
 

Pièces jointes

  • ENCAISSEMENTS.xls
    763 KB · Affichages: 4
  • CLIENTS ZONE 1.xlsx
    292.3 KB · Affichages: 3
  • CLIENTS ZONE 2.xlsx
    255.9 KB · Affichages: 2
  • TriDesDEFAILLANTS.xlsm
    23.7 KB · Affichages: 1
Dernière édition:

Pounet95

XLDnaute Occasionnel
Bonjour,
AMHA, les Goto ça ne devrait pas exister, mais ....
SInon il y a moyen de récuperer le code erreur généré via err.number, sa description via err.description et de gérer cela ensuite
VB:
    '......'
    If Err <> 0 Then 'condition : si une erreur a été générée
        Select Case Err
        Case 13         'pour exemple
            ' traitement 1
            
        Case 91         'pour exemple
            'traitement 2
            
        Case Else
            'autre traitement
            
        End Select
        
        End Select
        Err.Clear 'supprime l'erreur
 

Lhomheureux

XLDnaute Nouveau
Bonjour,
AMHA, les Goto ça ne devrait pas exister, mais ....
SInon il y a moyen de récuperer le code erreur généré via err.number, sa description via err.description et de gérer cela ensuite
VB:
    '......'
    If Err <> 0 Then 'condition : si une erreur a été générée
        Select Case Err
        Case 13         'pour exemple
            ' traitement 1
           
        Case 91         'pour exemple
            'traitement 2
           
        Case Else
            'autre traitement
           
        End Select
       
        End Select
        Err.Clear 'supprime l'erreur

Merci pour ta participation et ta réponse. Seulement, bien que je vois ce qu'il faut faire, je ne suis pas en mesure de le mettre en pratique présentement sans générer d'autres erreurs.
 

Pounet95

XLDnaute Occasionnel
Re,

VB:
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
'--------------------------------------------------------------------------------------
'Cette variable était définie en String, la redéfinir en Workbook
'et attention aussi au répertoire !
'--------------------------------------------------------------------------------------
Dim FE As Workbook  '[COLOR=rgb(226, 80, 65)]String [/COLOR]'déclare la variable FE (FichierEncaissement)

Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim i As Integer 'déclare la variable I (Incrément)
Dim NO As String 'déclare la variable NO (Nom Onglet)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
 

Lhomheureux

XLDnaute Nouveau
Re,

VB:
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
'--------------------------------------------------------------------------------------
'Cette variable était définie en String, la redéfinir en Workbook
'et attention aussi au répertoire !
'--------------------------------------------------------------------------------------
Dim FE As Workbook  '[COLOR=rgb(226, 80, 65)]String [/COLOR]'déclare la variable FE (FichierEncaissement)

Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim i As Integer 'déclare la variable I (Incrément)
Dim NO As String 'déclare la variable NO (Nom Onglet)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

oups! Désolé, mais le code se trouve sur le module 1. Les autres sont des brouillons. Je pensais les avoir supprimés avant d'envoyer le fichier.

Pour comprendre le problème il faudrait que tu executes le code avec les deux fichiers ( zone 1 et zone 2).
Merci encore de te pencher sur mon problème.
 

Pounet95

XLDnaute Occasionnel
Re,
Autant pour moi !
La variable FE déclarée en String était bonne.
En fait il manque la ligne donnant l'affectation
FE= workbooks("CLIENTS ZONE .xlsx")
mais préciser le chemin aussi

Pour le reste, il faut gérer tous les Goto !
Bon courage
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 812
dernier inscrit
abdouami