• Initiateur de la discussion Initiateur de la discussion eric
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

eric

Guest
Bonjour,

je cherche le code qui permet de vérifier sur une feuille excel l'existence d'une zone de texte nommée.

Par exemple, j'ai 3 feuilles excel, 2 seulement contiennent la zone de texte nommée "test1". Je souhaite pouvoir recopier un texte commun ("essai" par exemple) dans toutes les zones de texte nommées "test1" , voici le code que j'utilise :

For i = 1 To Sheets.Count
Sheets(i).Activate
ActiveSheet.Shapes("test1").Select
Selection.Characters.Text = "essai"

Le problème est que lorsque la zone de texte "test1" est inexistante dans une feuille, j'ai un message d'erreur "objet inexistant".
Comment faire ?
 
tu dois gérer le traitement d'erreur Excel
Par une instruction de type "On error goto"
Cette instruction déroutera le programme.
Attention à ne pas dérouter toutes les erreurs, donc penser à rétablir le traitement normal de l'erreur

exemple:
Sub test()
For i = 1 To Sheets.Count
Sheets(i).ActOn Error GoTo finivate
On Error GoTo fin
ActiveSheet.Shapes("test1").Select
On Error GoTo 0
Selection.Characters.Text = "essai"

fin:
MsgBox "pas de shape dans la feuille" & i
Next
End Sub
 
Bon, effectivement j'ai été un peu rapide dans mes copier coller
je reprend:


ca, c'est evidemment faut
Sheets(i).ActOn Error GoTo finivate

voilà ce qu'il faut lire:
sheets(i).activate
on error goto fin
ect...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour