Probleme enchainement 2 phases dans une macro

Bonjour, je suis confronté à un problème d'enchainement dans ma macro:

je pars d'une donnée présente dans une cellule et je vais chercher son équivalent dans un autre onglet pour récuperer la donnée située dans la cellule située à sa droite. Cette donnée est alors reprise dans l'onglet de départ et elle sert pour une nouvelle recherche dans 4 autres onglets afin de reprendre des données de localisation (la macro de cette seconde partie fonctionne correctement).

Je n'arrive pas à arrêter le process de la première partie de la macro lorsque la valeur de la première cellule n'est pas trouvée, avec l'affichage d'une MSGBox "'ID non trouvé".

En fichier joint une copie d'écran de la macro.

Vous remerciant par avance de votre aide.

macro searchstock

Bonjour

Travailler avec une image pas glop glop

Il faut que tu utilises dans la première partie la même syntaxe utilisée dans la 2ème partie

Set Cel = Cells.Find(.......
If Cel is Nothing then Exit Sub    ' Si on ne trouve pas on quitte
'
' Suite de ton code
'

Bonjour,

Voici une manière de gérer n'importe quelle erreur avec un message donc à s'inspirer dans ton cas :

Sub GestionErreur()
    'ligne à positionner juste avant la ligne du code qui générerai une erreur
    On Error GoTo Fin
    'erreur générée car cette feuille n'existera jamais
    Sheets(0).Activate
    'suite de la macro quand tout va bien
    'lignes à positionner juste avant la ligne End Sub
Fin:
    MsgBox "N° Erreur : " & Err.Number & " => " & Err.Description & " Le programme va s'arrêter"
End Sub

édit : salut Banzai64

Raja a écrit :

Bonjour,

Voici une manière de gérer n'importe quelle erreur avec un message donc à s'inspirer dans ton cas :

Sub GestionErreur()
    'ligne à positionner juste avant la ligne du code qui générerai une erreur
    On Error GoTo Fin
    'erreur générée car cette feuille n'existera jamais
    Sheets(0).Activate
    'suite de la macro quand tout va bien
    'lignes à positionner juste avant la ligne End Sub
Fin:
    MsgBox "N° Erreur : " & Err.Number & " => " & Err.Description & " Le programme va s'arrêter"
End Sub

édit : salut Banzai64

Bonjour Raja,

en placant la commande "On Error GoTo Fin" avant la ligne qui se place en surbrillance, j'ai une erreur de compilation qui's'affiche: Etiquette non définie.

? je ne comprends pas.

Merci pour votre aide

Re,

Essaye de le placer au début de macro. En tout cas, quand je test, ça marche. Le positionnement avant la ligne qui engendrerai une erreur ne me bloque pas. Ne sachant pas comment ton code est disposé, je ne sais pas quoi dire.

Par hasard, as-tu oublié rajoute "Fin:" à la fin comme il est indiqué dans mon code ?

Raja a écrit :

Re,

Essaye de le placer au début de macro. En tout cas, quand je test, ça marche. Le positionnement avant la ligne qui engendrerai une erreur ne me bloque pas. Ne sachant pas comment ton code est disposé, je ne sais pas quoi dire.

Par hasard, as-tu oublié rajoute "Fin:" à la fin comme il est indiqué dans mon code ?

Bonjour Raja,

Effectivement l'insert en début et surtout sans oublier la ligne destinée à la fin de la macro, cela fonctionne beaucoup mieux...

Un grand merci pour ton aide et celle de Bonzai64.

Tealk78

Rechercher des sujets similaires à "probleme enchainement phases macro"