inkballs
Messages postés11Date d'inscriptionlundi 7 septembre 2009StatutMembreDernière intervention11 janvier 2010
-
9 sept. 2009 à 19:34
inkballs
Messages postés11Date d'inscriptionlundi 7 septembre 2009StatutMembreDernière intervention11 janvier 2010
-
9 sept. 2009 à 20:46
Bonsoir,
J'ai un code qui me sert sous excel 2000,et qui produit une erreur du fait que j'ai voulu ajouter un test sur la feuille2.
Le fait d'imbriquer une seconde feuille il plante.
Pourrai-je avoir une aide afin de corriger la syntaxe.
merci.
INKBALLS
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
With Sheets("Feuil1")
If .Range("C20").Value <> 4 Then
Application.EnableEvents = False
.Activate
Application.EnableEvents = True
.Range("D5:E5,B11,G20").Select
MsgBox "Merci de bien vouloir remplir les cellules sélectionnées !", vbCritical, "ATTENTION ..."
Exit Sub
End If
With Sheets("Feuil2")
If .Range("C17").Value <> 4 Then
Application.EnableEvents = False
.Activate
Application.EnableEvents = True
.Range("A55,F11,H20").Select
MsgBox "Merci de bien vouloir remplir les cellules sélectionnées !", vbCritical, "ATTENTION ..."
Exit Sub
End If
End With
End Sub
End With
cs_Ayr
Messages postés221Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention13 décembre 20092 9 sept. 2009 à 20:08
Salut,
à priori je dirai qu'il y à un problème avec le placement de tes End With.
Le dernier se trouve en dehors de la sub. Il devrai se trouver juste
après le 1er End If. Comme ceci :
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
With Sheets("Feuil1")
If .Range("C20").Value <> 4 Then
Application.EnableEvents = False
.Activate
Application.EnableEvents = True
.Range("D5:E5,B11,G20").Select
MsgBox "Merci de bien vouloir remplir les cellules sélectionnées !", vbCritical, "ATTENTION ..."
Exit Sub 'Attention! Dans ce cas on ne fait pas le code pour feuil2.
End If
End With
With Sheets("Feuil2")
If .Range("C17").Value <> 4 Then
Application.EnableEvents = False
.Activate
Application.EnableEvents = True
.Range("A55,F11,H20").Select
MsgBox "Merci de bien vouloir remplir les cellules sélectionnées !", vbCritical, "ATTENTION ..."
Exit Sub 'Inutile à ce niveau. De toute façon on sort de la sub juste après.
End If
End With
End Sub
Par contre, attention, tes deux blocs de codes ne vont pas s'effectuer systématiquement !
A cause des Exit Sub. Chaque fois que la valeur de C20 de feuil1 sera <> de 4
tu n'aura pas le code pour feuil2.
Est-ce bien ce que tu veux ?
Si non, il te suffit d'enlever les deux Exit sub, ils sont inutils.
inkballs
Messages postés11Date d'inscriptionlundi 7 septembre 2009StatutMembreDernière intervention11 janvier 2010 9 sept. 2009 à 20:46
Bonsoir,
Je te remercie,de ta réponse à première vu cela tourne sur le petit fichier d'essai.Il me reste à tester sur le fichier principal qui est beaucoup plus lourd;mais ce soir je n'ai pas assez de temps.Je donnerai des infos demain.
Merci.
INKBALLS