probleme avec "for each"

D

dj.run

Guest
bonjour à tous,

un peu d'aide me serait utile.
j'ai une macro qui fonctionnait et qui ne fonctionne plus et je ne comprends pas .

elle bug sur : For Each cellule In Sheets("salaries").Range("a2:a" & l)
et me renvoit une erreur d'execution '1004'
erreur definie par l'application ou par l'objet.


Private Sub Textcdsal_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim cellule As Range

Application.ScreenUpdating = False
If Textcdsal > 299 Then
MsgBox ("Le code salarié doit être inférieur à 300")
Textcdsal = ""
End If
For Each cellule In Sheets("salaries").Range("a2:a" & l)
If Not IsNumeric(Textcdsal.Value) Then GoTo err
Next cellule
Sheets("salaries").Activate
Columns("A:A").Select
On Error GoTo fin
Selection.Find(What:=Textcdsal.Value, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True).Activate
Textnomsal.Value = ActiveCell.Offset(0, 1)
Textmatricule.Value = ActiveCell.Offset(0, 2)
Combosociete.Value = ActiveCell.Offset(0, 3)
Exit Sub
fin:
MsgBox "Client inexistant!"
Textcdsal = ""
Exit Sub
Application.ScreenUpdating = True
err:
MsgBox "valeur numerique uniquement"
Textcdsal.Value = Null
Exit Sub
End Sub

merci pour votre aide .

dj.run
 
R

Robert

Guest
Salut Dj.run, salut le forum,

je ne me suis pas trop attardé sur ton problème mais quand tu écris :

For Each cellule In Sheets("salaries").Range("a2:a" & l)

"l" (j'imagine que c'est la "Ligne") n'est pas défini.

j'ai testé comme ce qui suit et ça marche

Public Sub TEST()
Dim l As Integer
l = 20
For Each cellule In Sheets("salaries").Range("a2:a" & l)
cellule.Interior.ColorIndex = 3
Next cellule
End Sub

J'espère que cela t'aidera.

À plus,

Robert
 

Statistiques des forums

Discussions
312 333
Messages
2 087 374
Membres
103 528
dernier inscrit
maro