[Déplacé VB6 --> VBA] Blocage execution code

inkballs Messages postés 11 Date d'inscription lundi 7 septembre 2009 Statut Membre Dernière intervention 11 janvier 2010 - 6 janv. 2010 à 06:51
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 6 janv. 2010 à 15:09
Bonjour,
Le code suivant, me permet de tester les feuilles afin de savoir si toutes les cellules sont bien remplies.Mais à partir de la feuille3,impossible de lire la suite:affichage"erreur d'execution9" à la ligne1 de la feuille3.Est-ce que je pourrai avoir une aide pour passer ce probleme?.Sachant qu'il me reste une feuille à rajouter.
Version excel2000.
Merci.
Inkballs.
**********************************************PrPrivate Sub Workbook_SheetActivate(ByVal Sh As Object)

With Sheets("feuille1")

If Sheets("test").Range("A13").Value <> 143 Then
Application.EnableEvents = False
.Activate

Application.EnableEvents = True

Union(Range( _
"F48:F57,G11:G16,G31,G33:G37,G40:G43,G45,G48:G57,H11:H17,H30:H31,H33:H37,H40:H43,H45,H48:H52,H53:H57,H65:H67,H69,O28,B4:B5,B8,B33:B36,B40,B42:B43,B45,B48:B52,B54,C30:C32,C37:C39,C44,C53,C55:C57,C65:C66,C69" _
), Range( _
"D4,D8,D11:D17,D28,D52,E11:E16,E37,E39,E53:E54,E65:E67,F4,F11:F16,F31,F33:F37,F40:F43,F45" _
)).Select
MsgBox "MERCI DE BIEN VOULOIR REMPLIR LES CELLULES EN GRIS !", vbCritical, "ATTENTION ..."

Exit Sub

End If

End With


With Sheets("feuille2")

If Sheets("test").Range("d20").Value <> 162 Then

Application.EnableEvents = False

.Activate

Application.EnableEvents = True

Union(Range( _
"F35,F37,F80,G11,G68,G71,H11:H12,H15:H16,H25,H27:H31,H33:H35,H38:H42,H44,H46,H49,H53,H56,H58,H60,H74,H77:H82,H85:H86,H89:H90,I25,I27:I31,I33:I35,I39:I42,I44,I46,I49:I51,I53,I68" _
), Range( _
"I71,I74,I77:I81,I85,I89:I90,J25,J27:J31,J33:J35,J39:J53,J63,J68:J74,J77:J92,L7,B4:B5,B8,B55,B57,C24,C26,C32,C34,C36,C44:C45,C63,C65,C74,C76,C79,C91:C92,D4,D8,D11:D16" _
), Range("D35,D37,D69,D72,D80,D83,D87,E11:E12,E15:E16,E44,F4,F11")).Select

MsgBox "Merci de bien vouloir remplir les cellules sélectionnées !", vbCritical, "ATTENTION ..."

Exit Sub

End If

End With

With Sheets("feuille3")'ligne1

If Sheets("test").Range("f11").Value <> 26 Then

Application.EnableEvents = False

.Activate

Application.EnableEvents = True

Range( _
"G30,B4:B5,B14,B16,B21,C8,C22,D4,E8:E12,H8:H9,H21,I8:I9,I15,I17,I19,I21,J8:J9,J21:J22" _
).Select

MsgBox "Merci de bien vouloir remplir les cellules sélectionnées !", vbCritical, "ATTENTION ..."

Exit Sub

End If

End With

End Sub

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
6 janv. 2010 à 12:56
Salut
Le plus important, c'est le texte de l'erreur.
Ici, Erreur 9 = "Indice en dehors de la plage"
Cela signifie que, sur ta ligne, tu essayes d'accéder à un objet indexé qui n'existe pas.
Ta ligne étant, semble t-il,
With Sheets("feuille3") 'ligne1
il semblerait qu'il n'existe pas de feuille nommée feuille3 dans ton classeur.
Essaye d'exécuter ton programme en pas-à-pas avec F9/F8 et vérifie bien que c'est cette ligne qui pose souci.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
6 janv. 2010 à 12:59
PS : A l'avenir, utilise la coloration syntaxique quand tu colles du code, c'est moins chiant (ou décourageant) à lire
(3ème icône à partir de la droite)
0
inkballs Messages postés 11 Date d'inscription lundi 7 septembre 2009 Statut Membre Dernière intervention 11 janvier 2010
6 janv. 2010 à 13:42
Bonjour,
Merci, de votre attention;mais j'ai oublié de demander si le code parait bien construit;et si la syntaxe ne comporte pas d'erreur.Pour la feuille3,elle existe bien.Alors je ne comprend pas
merci.
amicalement
Inkballs
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
6 janv. 2010 à 15:09
Te dire si ton code est correct : difficile sans savoir ce que tu cherches à faire et sans commentaire de code.
S'il y a des erreurs, le compilateur te le dira.
Si le programme s'arrête sur With Sheets("feuille3"), c'est qu'il y a un problème avec cette feuille.
Que te dire d'autre ? On n'a pas ton classeur sous les yeux.
Comme je te l'ai dit, utilise F9 et F8 pour déboguer ton application.
0
Rejoignez-nous