Bonjour,j'ai ce code VBA qui plante,mais je n'arrive pas à identifié le
problème ...
il n'y a pas d'autres macro sur mon classeur.
en fait, j'ai des listes de choix en G40 et G41, et ça doit impliquer des
réponses en G42 et G43
merci de votre aide.
YANN
----
Private Sub Worksheet_Change(ByVal Target As Range)
Set inter = Intersect(Target, Range("G40:G41"))
If Not inter Is Nothing Then
DeclarationsAFaire
End If
End Sub
Sub DeclarationsAFaire()
Application.ScreenUpdating = False
If [g40] = "IS" And [g41] = "Normal" Then: [G42] = "2065": [G43] = "2050"
If [g40] = "IS" And [g41] = "Simplifié" Then: [G42] = "2065": [G43] = "2033"
If [g40] = "IS" And [g41] = "N/A" Then: [G42] = "ERREUR": [G43] = "ERREUR"
If [g40] = "IR" And [g41] = "Normal" Then: [G42] = "2031": [G43] = "2050"
If [g40] = "IR" And [g41] = "Simplifié" Then: [G42] = "2031": [G43] = "2033"
If [g40] = "IR" And [g41] = "N/A" Then: [G42] = "ERREUR": [G43] = "ERREUR"
If [g40] = "BA IR" And [g41] = "Normal" Then: [G42] = "2143": [G43] = "2144"
If [g40] = "BA IR" And [g41] = "Simplifié" Then: [G42] = "2139": [G43] = ""
If [g40] = "BA IR" And [g41] = "N/A" Then: [G42] = "ERREUR": [G43] = "ERREUR"
If [g40] = "BNC spécial" And [g41] = "Normal" Then: [G42] = "ERREUR": [G43]
= "ERREUR"
If [g40] = "BNC spécial" And [g41] = "Simplifié" Then: [G42] = "ERREUR":
[G43] = "ERREUR"
If [g40] = "BNC spécial" And [g41] = "N/A" Then: [G42] = "Sur la 2042":
[G43] = ""
If [g40] = "BNC déclaration contrôlée" And [g41] = "Normal" Then: [G42] =
"ERREUR": [G43] = "ERREUR"
If [g40] = "BNC déclaration contrôlée" And [g41] = "Simplifié" Then: [G42] =
"ERREUR": [G43] = "ERREUR"
If [g40] = "BNC déclaration contrôlée" And [g41] = "N/A" Then: [G42] =
"2035": [G43] = ""
If [g40] = "Non fiscalisé" And [g41] = "Normal" Then: [G42] = "ERREUR":
[G43] = "ERREUR"
If [g40] = "Non fiscalisé" And [g41] = "Simplifié" Then: [G42] = "ERREUR":
[G43] = "ERREUR"
If [g40] = "Non fiscalisé" And [g41] = "N/A" Then: [G42] = "N/A": [G43] =
"N/A"
If [g40] = "" And [g41] = "" Then: [G42] = "": [G43] = ""
End Sub
-------
non... en fait, le problème vient que mon onglet est verouillé..... comment remédier à ce pb ?? Merci. YANN
"michdenis" a écrit :
En dessous de cette ligne Private Sub Worksheet_Change(ByVal Target As Range)
tu ajoutes : Stop
et tu exécutes toute ta macro en pas à pas. ça devrait te permettre la ligne de code problématique peut être pourrons-nous t'aider !
"Sunburn" a écrit dans le message de groupe de discussion : Bonjour,j'ai ce code VBA qui plante,mais je n'arrive pas à identifié le problème ... il n'y a pas d'autres macro sur mon classeur. en fait, j'ai des listes de choix en G40 et G41, et ça doit impliquer des réponses en G42 et G43
merci de votre aide. YANN ---- Private Sub Worksheet_Change(ByVal Target As Range) Set inter = Intersect(Target, Range("G40:G41")) If Not inter Is Nothing Then DeclarationsAFaire End If End Sub
Sub DeclarationsAFaire() Application.ScreenUpdating = False If [g40] = "IS" And [g41] = "Normal" Then: [G42] = "2065": [G43] = "2050" If [g40] = "IS" And [g41] = "Simplifié" Then: [G42] = "2065": [G43] = "2033" If [g40] = "IS" And [g41] = "N/A" Then: [G42] = "ERREUR": [G43] = "ERREUR" If [g40] = "IR" And [g41] = "Normal" Then: [G42] = "2031": [G43] = "2050" If [g40] = "IR" And [g41] = "Simplifié" Then: [G42] = "2031": [G43] = "2033" If [g40] = "IR" And [g41] = "N/A" Then: [G42] = "ERREUR": [G43] = "ERREUR" If [g40] = "BA IR" And [g41] = "Normal" Then: [G42] = "2143": [G43] = "2144" If [g40] = "BA IR" And [g41] = "Simplifié" Then: [G42] = "2139": [G43] = "" If [g40] = "BA IR" And [g41] = "N/A" Then: [G42] = "ERREUR": [G43] = "ERREUR" If [g40] = "BNC spécial" And [g41] = "Normal" Then: [G42] = "ERREUR": [G43] = "ERREUR" If [g40] = "BNC spécial" And [g41] = "Simplifié" Then: [G42] = "ERREUR": [G43] = "ERREUR" If [g40] = "BNC spécial" And [g41] = "N/A" Then: [G42] = "Sur la 2042": [G43] = "" If [g40] = "BNC déclaration contrôlée" And [g41] = "Normal" Then: [G42] > "ERREUR": [G43] = "ERREUR" If [g40] = "BNC déclaration contrôlée" And [g41] = "Simplifié" Then: [G42] > "ERREUR": [G43] = "ERREUR" If [g40] = "BNC déclaration contrôlée" And [g41] = "N/A" Then: [G42] > "2035": [G43] = "" If [g40] = "Non fiscalisé" And [g41] = "Normal" Then: [G42] = "ERREUR": [G43] = "ERREUR" If [g40] = "Non fiscalisé" And [g41] = "Simplifié" Then: [G42] = "ERREUR": [G43] = "ERREUR" If [g40] = "Non fiscalisé" And [g41] = "N/A" Then: [G42] = "N/A": [G43] > "N/A" If [g40] = "" And [g41] = "" Then: [G42] = "": [G43] = "" End Sub -------
non...
en fait, le problème vient que mon onglet est verouillé.....
comment remédier à ce pb ??
Merci.
YANN
"michdenis" a écrit :
En dessous de cette ligne
Private Sub Worksheet_Change(ByVal Target As Range)
tu ajoutes :
Stop
et tu exécutes toute ta macro en pas à pas.
ça devrait te permettre la ligne de code problématique
peut être pourrons-nous t'aider !
"Sunburn" <Sunburn@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : 5EDE56FE-78DF-43E5-B8FD-FCE381256E68@microsoft.com...
Bonjour,j'ai ce code VBA qui plante,mais je n'arrive pas à identifié le
problème ...
il n'y a pas d'autres macro sur mon classeur.
en fait, j'ai des listes de choix en G40 et G41, et ça doit impliquer des
réponses en G42 et G43
merci de votre aide.
YANN
----
Private Sub Worksheet_Change(ByVal Target As Range)
Set inter = Intersect(Target, Range("G40:G41"))
If Not inter Is Nothing Then
DeclarationsAFaire
End If
End Sub
Sub DeclarationsAFaire()
Application.ScreenUpdating = False
If [g40] = "IS" And [g41] = "Normal" Then: [G42] = "2065": [G43] = "2050"
If [g40] = "IS" And [g41] = "Simplifié" Then: [G42] = "2065": [G43] = "2033"
If [g40] = "IS" And [g41] = "N/A" Then: [G42] = "ERREUR": [G43] = "ERREUR"
If [g40] = "IR" And [g41] = "Normal" Then: [G42] = "2031": [G43] = "2050"
If [g40] = "IR" And [g41] = "Simplifié" Then: [G42] = "2031": [G43] = "2033"
If [g40] = "IR" And [g41] = "N/A" Then: [G42] = "ERREUR": [G43] = "ERREUR"
If [g40] = "BA IR" And [g41] = "Normal" Then: [G42] = "2143": [G43] = "2144"
If [g40] = "BA IR" And [g41] = "Simplifié" Then: [G42] = "2139": [G43] = ""
If [g40] = "BA IR" And [g41] = "N/A" Then: [G42] = "ERREUR": [G43] = "ERREUR"
If [g40] = "BNC spécial" And [g41] = "Normal" Then: [G42] = "ERREUR": [G43]
= "ERREUR"
If [g40] = "BNC spécial" And [g41] = "Simplifié" Then: [G42] = "ERREUR":
[G43] = "ERREUR"
If [g40] = "BNC spécial" And [g41] = "N/A" Then: [G42] = "Sur la 2042":
[G43] = ""
If [g40] = "BNC déclaration contrôlée" And [g41] = "Normal" Then: [G42] > "ERREUR": [G43] = "ERREUR"
If [g40] = "BNC déclaration contrôlée" And [g41] = "Simplifié" Then: [G42] > "ERREUR": [G43] = "ERREUR"
If [g40] = "BNC déclaration contrôlée" And [g41] = "N/A" Then: [G42] > "2035": [G43] = ""
If [g40] = "Non fiscalisé" And [g41] = "Normal" Then: [G42] = "ERREUR":
[G43] = "ERREUR"
If [g40] = "Non fiscalisé" And [g41] = "Simplifié" Then: [G42] = "ERREUR":
[G43] = "ERREUR"
If [g40] = "Non fiscalisé" And [g41] = "N/A" Then: [G42] = "N/A": [G43] > "N/A"
If [g40] = "" And [g41] = "" Then: [G42] = "": [G43] = ""
End Sub
-------
non... en fait, le problème vient que mon onglet est verouillé..... comment remédier à ce pb ?? Merci. YANN
"michdenis" a écrit :
En dessous de cette ligne Private Sub Worksheet_Change(ByVal Target As Range)
tu ajoutes : Stop
et tu exécutes toute ta macro en pas à pas. ça devrait te permettre la ligne de code problématique peut être pourrons-nous t'aider !
"Sunburn" a écrit dans le message de groupe de discussion : Bonjour,j'ai ce code VBA qui plante,mais je n'arrive pas à identifié le problème ... il n'y a pas d'autres macro sur mon classeur. en fait, j'ai des listes de choix en G40 et G41, et ça doit impliquer des réponses en G42 et G43
merci de votre aide. YANN ---- Private Sub Worksheet_Change(ByVal Target As Range) Set inter = Intersect(Target, Range("G40:G41")) If Not inter Is Nothing Then DeclarationsAFaire End If End Sub
Sub DeclarationsAFaire() Application.ScreenUpdating = False If [g40] = "IS" And [g41] = "Normal" Then: [G42] = "2065": [G43] = "2050" If [g40] = "IS" And [g41] = "Simplifié" Then: [G42] = "2065": [G43] = "2033" If [g40] = "IS" And [g41] = "N/A" Then: [G42] = "ERREUR": [G43] = "ERREUR" If [g40] = "IR" And [g41] = "Normal" Then: [G42] = "2031": [G43] = "2050" If [g40] = "IR" And [g41] = "Simplifié" Then: [G42] = "2031": [G43] = "2033" If [g40] = "IR" And [g41] = "N/A" Then: [G42] = "ERREUR": [G43] = "ERREUR" If [g40] = "BA IR" And [g41] = "Normal" Then: [G42] = "2143": [G43] = "2144" If [g40] = "BA IR" And [g41] = "Simplifié" Then: [G42] = "2139": [G43] = "" If [g40] = "BA IR" And [g41] = "N/A" Then: [G42] = "ERREUR": [G43] = "ERREUR" If [g40] = "BNC spécial" And [g41] = "Normal" Then: [G42] = "ERREUR": [G43] = "ERREUR" If [g40] = "BNC spécial" And [g41] = "Simplifié" Then: [G42] = "ERREUR": [G43] = "ERREUR" If [g40] = "BNC spécial" And [g41] = "N/A" Then: [G42] = "Sur la 2042": [G43] = "" If [g40] = "BNC déclaration contrôlée" And [g41] = "Normal" Then: [G42] > "ERREUR": [G43] = "ERREUR" If [g40] = "BNC déclaration contrôlée" And [g41] = "Simplifié" Then: [G42] > "ERREUR": [G43] = "ERREUR" If [g40] = "BNC déclaration contrôlée" And [g41] = "N/A" Then: [G42] > "2035": [G43] = "" If [g40] = "Non fiscalisé" And [g41] = "Normal" Then: [G42] = "ERREUR": [G43] = "ERREUR" If [g40] = "Non fiscalisé" And [g41] = "Simplifié" Then: [G42] = "ERREUR": [G43] = "ERREUR" If [g40] = "Non fiscalisé" And [g41] = "N/A" Then: [G42] = "N/A": [G43] > "N/A" If [g40] = "" And [g41] = "" Then: [G42] = "": [G43] = "" End Sub -------