XL pour MAC Macro: erreur d'exécution "9"

  • Initiateur de la discussion Initiateur de la discussion luno123
  • 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 !

luno123

XLDnaute Occasionnel
Bonjour,

J'ai une macro qui fonctionnait bien jusque là, et étrangement (certainement qualqu'un a effectué une fausse manip), désormais quand je la lance , j'ai une erreur (erreur d'exécution "9" : l'indice est en dehors des dimensions du tableau) qui s'affiche. J'arrive à la contourner mais serait-il possible de la corriger?

je vous remercie d'avance

Luno
 

Pièces jointes

Remplacez par celle que j'indique la boucle où ça plante, avec le commentaire devant, que j'ai exprès reproduit pour que vous trouviez plus facilement où c'est.
Je ne sais pas si j'ai bien compris. J'ai remplacé dans ma macro (là où ça palnte:
If Workbooks(FichTotal).Sheets(u).Name = "COGESER - CCFM" Then
Workbooks(FichTotal).Sheets("COGESER - CCFM").Delete
End If


Par votre code et cela ne fonctionne toujours pas. J'imagine, que c'est moi qui n'ai rien compris.
 
Avez vous bien remplacé toute la boucle depuis 'For u = 1 To Worksheets.Count' jusqu'à 'Next u' ?
Dans la mienne il n'y a pas de 'If Workbooks(FichTotal).Sheets(u).Name = "MASQUE"' susceptible de planter pour u=5 du fait qu'il n'y a plus que 4 feuilles juste après avoir supprimé la Sheets("COGESER - CCFM") !
 
Avez vous bien remplacé toute la boucle depuis 'For u = 1 To Worksheets.Count' jusqu'à 'Next u' ?
Dans la mienne il n'y a pas de 'If Workbooks(FichTotal).Sheets(u).Name = "MASQUE"' susceptible de planter pour u=5 du fait qu'il n'y a plus que 4 feuilles juste après avoir supprimé la Sheets("COGESER - CCFM") !
Bonjour Dranreb, bonjour le forum,

J’ai testé la macro qui présente toujours quelques soucis.



  • En effet quand je vais sur le fichier « TCD TOTAL », je lance la macro dans l’onglet « MACRO »;
  • Je sélectionne le fichier « TOTAL au 15 04 2021 »
  • Après je saisis le numéro de facture (un au hasard)
  • J’ai un message d’erreur : traitement des écritures : « veillez vérifier les immats suivantes » :
  • Sauf que je n’ai rien en liste et les numéros d’immats sont exactes.

  • Un souci de format ?

  • Ci-joints les deux fichiers utilisés.

  • Merci d’avance

  • Luno
 

Pièces jointes

Bonjour.
Je n'ai pas étudié le reste de la programmation, je répondis juste au problème de suppression de feuilles.
Mais arrêtez de tout le temps consulter les collections WorkBooks et Worksheets. Définissez une bonne fois pour toutes avec quoi vous travaillez, au début de la macro, par des Set dans des variables As Workbook et As Worksheet.
 
Bonjour.
Je n'ai pas étudié le reste de la programmation, je répondis juste au problème de suppression de feuilles.
Mais arrêtez de tout le temps consulter les collections WorkBooks et Worksheets. Définissez une bonne fois pour toutes avec quoi vous travaillez, au début de la macro, par des Set dans des variables As Workbook et As Worksheet.
Bonjour Dranreb,

Je n'ai pas compris votre remarque, désolé.
 
Bonjour.
C'est clair, au lieu de reconstituer 50 fois une même expression Worksheet par consultation de la collection Worksheets du genre Workbooks(LeNomDuClasseur).Worksheets(LeNomDeLaFeuille) remplacez cette expression par une variable déclarée Wsh As Worksheet et initialisée par Set Wsh = Workbooks(LeNomDuClasseur).Worksheets(LeNomDeLaFeuille)
 
- 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

Discussions similaires

Réponses
9
Affichages
395
  • Question Question
Réponses
4
Affichages
511
Réponses
4
Affichages
823
Retour