Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
PasTouche Target, Range("A1:A10")
End Sub
Sub PasTouche(LaCellule As Range, PlageAutorisée As Range)
If Intersect(LaCellule, PlageAutorisée) Is Nothing Then MsgBox "saisie
son autorisée !"
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End Sub
J'ai un message d'erreur de compilation sur End If : "End If sans bloc If"
Je ne comprends pas. Merci pour vos explications
Eric
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Gaboly
Bonsoir,
Ou bien on écrit
If Condition Then Insgtruction
ou
If Condition Then Instruction End If
Ton 1er If est du premier type, donc il n'y a effectivement pas de If cor repondant au End If
Il faut écrire
Sub PasTouche(LaCellule As Range, PlageAutorisée As Range) If Intersect(LaCellule, PlageAutorisée) Is Nothing Then MsgBox "saisie non autorisée !" Else Application.EnableEvents = False Application.Undo Application.EnableEvents = True End If End Sub
Bonjour Voici mon code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Ra nge) PasTouche Target, Range("A1:A10") End Sub
Sub PasTouche(LaCellule As Range, PlageAutorisée As Range) If Intersect(LaCellule, PlageAutorisée) Is Nothing Then MsgBox "s aisie son autorisée !" Application.EnableEvents = False Application.Undo Application.EnableEvents = True End If End Sub
J'ai un message d'erreur de compilation sur End If : "End If sans bloc If" Je ne comprends pas. Merci pour vos explications Eric
-- Cordialement,
Michel Gaboly www.gaboly.com
Bonsoir,
Ou bien on écrit
If Condition Then Insgtruction
ou
If Condition Then
Instruction
End If
Ton 1er If est du premier type, donc il n'y a effectivement pas de If cor repondant au End If
Il faut écrire
Sub PasTouche(LaCellule As Range, PlageAutorisée As Range)
If Intersect(LaCellule, PlageAutorisée) Is Nothing Then
MsgBox "saisie non autorisée !"
Else
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End Sub
Bonjour
Voici mon code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Ra nge)
PasTouche Target, Range("A1:A10")
End Sub
Sub PasTouche(LaCellule As Range, PlageAutorisée As Range)
If Intersect(LaCellule, PlageAutorisée) Is Nothing Then MsgBox "s aisie
son autorisée !"
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End Sub
J'ai un message d'erreur de compilation sur End If : "End If sans bloc If"
Je ne comprends pas. Merci pour vos explications
Eric
Ton 1er If est du premier type, donc il n'y a effectivement pas de If cor repondant au End If
Il faut écrire
Sub PasTouche(LaCellule As Range, PlageAutorisée As Range) If Intersect(LaCellule, PlageAutorisée) Is Nothing Then MsgBox "saisie non autorisée !" Else Application.EnableEvents = False Application.Undo Application.EnableEvents = True End If End Sub
Bonjour Voici mon code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Ra nge) PasTouche Target, Range("A1:A10") End Sub
Sub PasTouche(LaCellule As Range, PlageAutorisée As Range) If Intersect(LaCellule, PlageAutorisée) Is Nothing Then MsgBox "s aisie son autorisée !" Application.EnableEvents = False Application.Undo Application.EnableEvents = True End If End Sub
J'ai un message d'erreur de compilation sur End If : "End If sans bloc If" Je ne comprends pas. Merci pour vos explications Eric
-- Cordialement,
Michel Gaboly www.gaboly.com
sinpa
"Michel Gaboly" a écrit dans le message de news:
Bonsoir,
Ou bien on écrit
If Condition Then Insgtruction
ou
If Condition Then Instruction End If ----------------------- Excuse moi, mais je vois pas la différence entre : If Condition Then Instruction et If Condition Then Instruction
Alors pourquoi un end if dans le 2° cas et pas dans le 1er ?
"Michel Gaboly" <michelgaboly@bluewin.ch> a écrit dans le message de news:
uLykEyV7GHA.5020@TK2MSFTNGP03.phx.gbl...
Bonsoir,
Ou bien on écrit
If Condition Then Insgtruction
ou
If Condition Then
Instruction
End If
-----------------------
Excuse moi, mais je vois pas la différence entre :
If Condition Then Instruction
et
If Condition Then Instruction
Alors pourquoi un end if dans le 2° cas et pas dans le 1er ?
If Condition Then Instruction End If ----------------------- Excuse moi, mais je vois pas la différence entre : If Condition Then Instruction et If Condition Then Instruction
Alors pourquoi un end if dans le 2° cas et pas dans le 1er ?
Michel Gaboly
La différence que est que si on écrit
If Condition Then Instruction
sur une seule ligne, il n'y a pas de End If
Dans le cas contraire, le End If est nécessaire car il permet de déte rminer quelle(s) instructions sont soumises au If. Ce sont celles qui sont entre le If et le End If
Dans ton code il y avait un
If Condition Then Instruction
qui forme un ensemble.
Par conséquent ton End If n'avait pas de If Correspondant
Si tu utilises End If TU NE PEUX PAS mettre une instruvtion sur la même migne que le If correspondant
Pour traiter les 2 cas (quoi faire selon que la condition est remplie ou non, il est IMPERATIF d'utiliser cette structure :
If Condition Then Instructions si condition remplie Else Instructions si condition non remplie End If
Dans ton code, il y a 2 anomalies :
1 - Instruction sur la meme ligne que If ET emploi de End If, ce qui est incompatible
2 - Absence du Else
"Michel Gaboly" a écrit dans le message de news:
Bonsoir,
Ou bien on écrit
If Condition Then Instruction
ou
If Condition Then Instruction End If ----------------------- Excuse moi, mais je vois pas la différence entre : If Condition Then Instruction et If Condition Then Instruction
Alors pourquoi un end if dans le 2° cas et pas dans le 1er ?
-- Cordialement,
Michel Gaboly www.gaboly.com
La différence que est que si on écrit
If Condition Then Instruction
sur une seule ligne, il n'y a pas de End If
Dans le cas contraire, le End If est nécessaire car il permet de déte rminer quelle(s) instructions sont soumises au If.
Ce sont celles qui sont entre le If et le End If
Dans ton code il y avait un
If Condition Then Instruction
qui forme un ensemble.
Par conséquent ton End If n'avait pas de If Correspondant
Si tu utilises End If TU NE PEUX PAS mettre une instruvtion sur la même migne que le If correspondant
Pour traiter les 2 cas (quoi faire selon que la condition est remplie ou non, il est IMPERATIF d'utiliser cette structure :
If Condition Then
Instructions si condition remplie
Else
Instructions si condition non remplie
End If
Dans ton code, il y a 2 anomalies :
1 - Instruction sur la meme ligne que If ET emploi de End If, ce qui est incompatible
2 - Absence du Else
"Michel Gaboly" <michelgaboly@bluewin.ch> a écrit dans le message de news:
uLykEyV7GHA.5020@TK2MSFTNGP03.phx.gbl...
Bonsoir,
Ou bien on écrit
If Condition Then Instruction
ou
If Condition Then
Instruction
End If
-----------------------
Excuse moi, mais je vois pas la différence entre :
If Condition Then Instruction
et
If Condition Then Instruction
Alors pourquoi un end if dans le 2° cas et pas dans le 1er ?
Dans le cas contraire, le End If est nécessaire car il permet de déte rminer quelle(s) instructions sont soumises au If. Ce sont celles qui sont entre le If et le End If
Dans ton code il y avait un
If Condition Then Instruction
qui forme un ensemble.
Par conséquent ton End If n'avait pas de If Correspondant
Si tu utilises End If TU NE PEUX PAS mettre une instruvtion sur la même migne que le If correspondant
Pour traiter les 2 cas (quoi faire selon que la condition est remplie ou non, il est IMPERATIF d'utiliser cette structure :
If Condition Then Instructions si condition remplie Else Instructions si condition non remplie End If
Dans ton code, il y a 2 anomalies :
1 - Instruction sur la meme ligne que If ET emploi de End If, ce qui est incompatible
2 - Absence du Else
"Michel Gaboly" a écrit dans le message de news:
Bonsoir,
Ou bien on écrit
If Condition Then Instruction
ou
If Condition Then Instruction End If ----------------------- Excuse moi, mais je vois pas la différence entre : If Condition Then Instruction et If Condition Then Instruction
Alors pourquoi un end if dans le 2° cas et pas dans le 1er ?