Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Arreter la macro si...

6 réponses
Avatar
S3com
bonjour a toutes et a tous!

voici mon code :+
+'------verifie si feuille existe d=E9ja
k =3D 1
While Not k =3D Sheets.Count + 1
Sheets(k).Select
If Sheets(k).Name =3D "Convocation" Then
Sheets(k).Delete
''''''je repositionne l'indice de la feuille test=E9e
k =3D k - 1
End If
k =3D k + 1
Wend

comment faire pour que si l'utilisateur clique sur le bouton annuler
(sur le message d'avertissement) alors la proc=E9drue s'arrete (ou
s'annule)

Merci
Emeric

6 réponses

Avatar
Daniel
Bonjour.
Essaie :

While Not k = Sheets.Count + 1
Sheets(k).Select
If Sheets(k).Name = "Convocation" Then
Sheets(k).Delete
If Sheets(k).Name = "Convocation" Then Exit Sub
''''''je repositionne l'indice de la feuille testée
k = k - 1
End If
k = k + 1
Wend

Cordialement.
Daniel
"S3com" a écrit dans le message de news:

bonjour a toutes et a tous!

voici mon code :+
+'------verifie si feuille existe déja
k = 1
While Not k = Sheets.Count + 1
Sheets(k).Select
If Sheets(k).Name = "Convocation" Then
Sheets(k).Delete
''''''je repositionne l'indice de la feuille testée
k = k - 1
End If
k = k + 1
Wend

comment faire pour que si l'utilisateur clique sur le bouton annuler
(sur le message d'avertissement) alors la procédrue s'arrete (ou
s'annule)

Merci
Emeric
Avatar
El pequeno
Bonjour à tous.
Comme ça, à l'emporte pièce :
If Sheets(k).Name = "Convocation" Then
Sheets(k).Delete
Exit Sub
End if
Ceci ne serait il pas plus exact ? En effet Daniel, dans l'exemple que tu
donne la seconde condition risque de ne jamais etre vérifiée puisque tu
détruit la feuille "Convocation" à l'aide de la première condition.
Cordialement



Bonjour.
Essaie :

While Not k = Sheets.Count + 1
Sheets(k).Select
If Sheets(k).Name = "Convocation" Then
Sheets(k).Delete
If Sheets(k).Name = "Convocation" Then Exit Sub
''''''je repositionne l'indice de la feuille testée
k = k - 1
End If
k = k + 1
Wend

Cordialement.
Daniel
"S3com" a écrit dans le message de news:

bonjour a toutes et a tous!

voici mon code :+
+'------verifie si feuille existe déja
k = 1
While Not k = Sheets.Count + 1
Sheets(k).Select
If Sheets(k).Name = "Convocation" Then
Sheets(k).Delete
''''''je repositionne l'indice de la feuille testée
k = k - 1
End If
k = k + 1
Wend

comment faire pour que si l'utilisateur clique sur le bouton annuler
(sur le message d'avertissement) alors la procédrue s'arrete (ou
s'annule)

Merci
Emeric





Avatar
El pequeno
Re
Quoiqu'il en soit, pour arréter une macro, "Exit sub" est le bon code.
A placer à l'endroit idoine ! (...et c'est selon !)
Slts


Bonjour à tous.
Comme ça, à l'emporte pièce :
If Sheets(k).Name = "Convocation" Then
Sheets(k).Delete
Exit Sub
End if
Ceci ne serait il pas plus exact ? En effet Daniel, dans l'exemple que tu
donne la seconde condition risque de ne jamais etre vérifiée puisque tu
détruit la feuille "Convocation" à l'aide de la première condition.
Cordialement



Bonjour.
Essaie :

While Not k = Sheets.Count + 1
Sheets(k).Select
If Sheets(k).Name = "Convocation" Then
Sheets(k).Delete
If Sheets(k).Name = "Convocation" Then Exit Sub
''''''je repositionne l'indice de la feuille testée
k = k - 1
End If
k = k + 1
Wend

Cordialement.
Daniel
"S3com" a écrit dans le message de news:

bonjour a toutes et a tous!

voici mon code :+
+'------verifie si feuille existe déja
k = 1
While Not k = Sheets.Count + 1
Sheets(k).Select
If Sheets(k).Name = "Convocation" Then
Sheets(k).Delete
''''''je repositionne l'indice de la feuille testée
k = k - 1
End If
k = k + 1
Wend

comment faire pour que si l'utilisateur clique sur le bouton annuler
(sur le message d'avertissement) alors la procédrue s'arrete (ou
s'annule)

Merci
Emeric







Avatar
Daniel
Bonjour.
J'ai compris que :
Sheets(k).Delete
Apparition du pop-up "Voulez-vous vraiment supprimer..." (je cite de
mémoire). Si l'utilisateur ne veut pas supprimer la feuille - c'est son
droit - , je re-teste le nom de la feuille courante.
Cordialement.
Daniel
"El pequeno" a écrit dans le message
de news:
Bonjour à tous.
Comme ça, à l'emporte pièce :
If Sheets(k).Name = "Convocation" Then
Sheets(k).Delete
Exit Sub
End if
Ceci ne serait il pas plus exact ? En effet Daniel, dans l'exemple que tu
donne la seconde condition risque de ne jamais etre vérifiée puisque tu
détruit la feuille "Convocation" à l'aide de la première condition.
Cordialement



Bonjour.
Essaie :

While Not k = Sheets.Count + 1
Sheets(k).Select
If Sheets(k).Name = "Convocation" Then
Sheets(k).Delete
If Sheets(k).Name = "Convocation" Then Exit Sub
''''''je repositionne l'indice de la feuille testée
k = k - 1
End If
k = k + 1
Wend

Cordialement.
Daniel
"S3com" a écrit dans le message de news:

bonjour a toutes et a tous!

voici mon code :+
+'------verifie si feuille existe déja
k = 1
While Not k = Sheets.Count + 1
Sheets(k).Select
If Sheets(k).Name = "Convocation" Then
Sheets(k).Delete
''''''je repositionne l'indice de la feuille testée
k = k - 1
End If
k = k + 1
Wend

comment faire pour que si l'utilisateur clique sur le bouton annuler
(sur le message d'avertissement) alors la procédrue s'arrete (ou
s'annule)

Merci
Emeric







Avatar
S3com
Merci a tous.

desormais je sais plus ou moins arreter une macro :exit sub
Avatar
El pequeno
Bonjour Daniel
Tu avais surement mieux compris le problème que moi.
C'est pour ça que je me suis exprimé "à l'emporte piéce..." !
Slts


Bonjour.
J'ai compris que :
Sheets(k).Delete
Apparition du pop-up "Voulez-vous vraiment supprimer..." (je cite de
mémoire). Si l'utilisateur ne veut pas supprimer la feuille - c'est son
droit - , je re-teste le nom de la feuille courante.
Cordialement.
Daniel
"El pequeno" a écrit dans le message
de news:
Bonjour à tous.
Comme ça, à l'emporte pièce :
If Sheets(k).Name = "Convocation" Then
Sheets(k).Delete
Exit Sub
End if
Ceci ne serait il pas plus exact ? En effet Daniel, dans l'exemple que tu
donne la seconde condition risque de ne jamais etre vérifiée puisque tu
détruit la feuille "Convocation" à l'aide de la première condition.
Cordialement



Bonjour.
Essaie :

While Not k = Sheets.Count + 1
Sheets(k).Select
If Sheets(k).Name = "Convocation" Then
Sheets(k).Delete
If Sheets(k).Name = "Convocation" Then Exit Sub
''''''je repositionne l'indice de la feuille testée
k = k - 1
End If
k = k + 1
Wend

Cordialement.
Daniel
"S3com" a écrit dans le message de news:

bonjour a toutes et a tous!

voici mon code :+
+'------verifie si feuille existe déja
k = 1
While Not k = Sheets.Count + 1
Sheets(k).Select
If Sheets(k).Name = "Convocation" Then
Sheets(k).Delete
''''''je repositionne l'indice de la feuille testée
k = k - 1
End If
k = k + 1
Wend

comment faire pour que si l'utilisateur clique sur le bouton annuler
(sur le message d'avertissement) alors la procédrue s'arrete (ou
s'annule)

Merci
Emeric