Bonsoir,
On Error Resume Next = ici on demande à VBA de continuer l'exécution du code malgré la détection d'une erreur
Sheets("Récolte " & variete.Text).Activate = on active la feuille Récolte & variété.Text
If Err > 0 Then GoTo suite = si la variable VBA Err est supérieur à 0 cela signifiee que VBA a détecter une erreur lors de l'exécution du code hors il n'y a qu'une ligne de code d'exécutée : Sheets("Récolte " & variete.Text).Activate
donc la feuille n'existe pas "then" alors on va à l'étiquette du code qui s'appelle "suite"
s'il n'y a pas d'erreur donc Err = autre chose que supérieur à 0
MsgBox "la feuille existe déja" = on affiche le message "la feuille existe déjà" et en plus la feuille est activée pour le "prouver"
On Error Goto 0 = on réactive la gestion "normale" des erreurs par VBA
Exit Sub = on quitte la procédure puisque la feuille existe
suite: = étiquette dans le code qui porte le nom "suite", le code reprend ici car il y a eu une erreur = la feuille n'existe pas
On Error Goto 0 = on réactive la gestion "normale" des erreurs par VBA
' la suite du code avec création de la feuille = à partir d'ici la suite de votre code qui prend en compte le fait de créer une nouvelle feuille qui portera le nom de "Récolte & variété.Text"
Voilà en espérant que cela vous suffise pour comprendre
@ bientôt
LouReeD