Bonjour à tous,
j'ai crée une macro pour générer une alerte à l'ouverture de mon fichier, je teste toutes les cellules de ma colonne (x2:x), mais comme il peut y avoir des centaines de lignes cela prend beaucoup de temps d'autant plus qu'il doit chercher la valeur dans une grande plage Feuil4.Range("b2:ss549"), est-il possible de lui demander de tester dans la colonne "x" uniquement si la cellule est différente de 0 ou rien.
Je n'ai pas mis de fichier car je ne pense pas qu'il y en ait besoin, sinon pas de souci demandez moi et je vous mettrais un exemple.
Merci beaucoup pour votre aide.
j'ai crée une macro pour générer une alerte à l'ouverture de mon fichier, je teste toutes les cellules de ma colonne (x2:x), mais comme il peut y avoir des centaines de lignes cela prend beaucoup de temps d'autant plus qu'il doit chercher la valeur dans une grande plage Feuil4.Range("b2:ss549"), est-il possible de lui demander de tester dans la colonne "x" uniquement si la cellule est différente de 0 ou rien.
VB:
Sub alerte()
Application.ScreenUpdating = False
Dim Cel As Range
Dim Temp
Dim cellulecherchee As Range, ligne As Long, col As Long, valeur_cherchee As String
With Sheets("TbCommande")
For Each Cel In .Range("x2:x" & .Cells(Rows.Count, "a").End(xlUp).Row)
valeur_cherchee = Cel.Offset(, -23).Value
Set cellulecherchee = Feuil4.Range("b2:ss549").Find(what:=valeur_cherchee, LookIn:=xlValues, lookat:=xlWhole)
If Cel.Offset(, 0) <> "" And cellulecherchee Is Nothing Then
Temp = Temp & vbLf & " M/Me " & Cel.Offset(, -21).Value & " " & "Départ Usine est prévu le " & Cel.Offset(, 0).Value & Chr(13) & Chr(10)
End If
Next Cel
MsgBox "Liste des Chantiers à Planifier:" & Chr(13) & Chr(10) & Temp
End With
Temp = ""
End Sub
Je n'ai pas mis de fichier car je ne pense pas qu'il y en ait besoin, sinon pas de souci demandez moi et je vous mettrais un exemple.
Merci beaucoup pour votre aide.