Pb execution macro evenementielle

Le
SD
Bonjour,
J'ai crée une macro evenementielle sous xl2000 mais elle ne s'éxecute
pas.
Normalement, elle devrait s'éxécutée avec le changement de la cellule
D4
Le but étant d'obtenir dans la colC une liste déroulante associée à=
la
valeur de D4(variable)

Je ne vois pas ou est le pb, est-ce quelqu'un peut m'eclairer ?

La macro en question:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim col As Long
Dim row As Long
Dim nbRow As Long
Dim wk As Worksheet
Dim Deb As Integer
Dim Atelier As Integer

col = Target.Column
row = Target.row

If Target.Address = "$D$4" And [$D$4] <> "" Then

Set wk = Target.Worksheet
Atelier = Cells(1, 1).Value


If Application.WorksheetFunction.IsNumber(wk.Cells(1, 1)) Then
Deb = 8
nbRow = Worksheets("Config").Cells(5, Atelier)

With wk.Range("C" & row).Validation
.Delete
.Add Type:=xlValidateList,
AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
Formula1:="=" & wk.Range(wk.Cells(Deb,
Atelier), wk.Cells(nbRow + 7, Atelier)).Address()
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Else
wk.Range("C" & row).Validation.Delete

End If
End If
End Sub

MErci par avance
SD
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Youky
Le #17917991
Salut SD,
With wk.Range("C" & row).Validation ......row renvoie 4
à voir si row ou Nbrow
Sinon en fenêtre exécution copie ceci ..place le curseur à la fin et presse
Enter
application.EnableEvents=True
Ceci à pour but de rendre actif les événements.
Youky

"SD"
Bonjour,
J'ai crée une macro evenementielle sous xl2000 mais elle ne s'éxecute
pas.
Normalement, elle devrait s'éxécutée avec le changement de la cellule
D4...
Le but étant d'obtenir dans la colC une liste déroulante associée à la
valeur de D4(variable)

Je ne vois pas ou est le pb, est-ce quelqu'un peut m'eclairer ?

La macro en question:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim col As Long
Dim row As Long
Dim nbRow As Long
Dim wk As Worksheet
Dim Deb As Integer
Dim Atelier As Integer

col = Target.Column
row = Target.row

If Target.Address = "$D$4" And [$D$4] <> "" Then

Set wk = Target.Worksheet
Atelier = Cells(1, 1).Value


If Application.WorksheetFunction.IsNumber(wk.Cells(1, 1)) Then
Deb = 8
nbRow = Worksheets("Config").Cells(5, Atelier)

With wk.Range("C" & row).Validation
.Delete
.Add Type:=xlValidateList,
AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
Formula1:="=" & wk.Range(wk.Cells(Deb,
Atelier), wk.Cells(nbRow + 7, Atelier)).Address()
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Else
wk.Range("C" & row).Validation.Delete

End If
End If
End Sub

MErci par avance
SD
Publicité
Poster une réponse
Anonyme