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

Signaler
Messages postés
11
Date d'inscription
lundi 7 septembre 2009
Statut
Membre
Dernière intervention
11 janvier 2010
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
79
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)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
79
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)
Messages postés
11
Date d'inscription
lundi 7 septembre 2009
Statut
Membre
Dernière intervention
11 janvier 2010

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
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
79
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.