Probleme de variables
r
bonsoir a tous je rencontre une erreur sur mes variables de la sub envoi mail.
pourriez vous me dire ou se situe le problème ?
je vous remercie d'avance .
cordialement romain.
boubenMembre impliqué
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonsoir,
A tester :
REP = MsgBox("Des dates arrivent ou sont à échéances!!Voulez-vous envoyer les mails d'alertes ?", vbYesNo + vbExclamation, "Dates a échéances !")Bouben
r
bonsoir merci pour cette réponse ce problème est corriger mais mon erreur persiste sur le module envoi mail .
Sub rappels()
Dim numdemande As Range
Dim cherche As Range
Dim drapeau As Boolean ' true = date limite dépassée (sup à limite) et rappel ancien si existant (sup à frequence)
Dim ligne As Double
For Each numdemande In Sheets("SUIVI").Range("C3:K" & Sheets("SUIVI").Range("C" & Rows.Count).End(xlUp).Row)
If numdemande.Offset(0, 8).Value <= Range("limite").Value Then
With Sheets("Retard")
ligne = .Range("A" & Rows.Count).End(xlUp).Row
If ligne > 1 Then 'tri du plus récent rappel au plus ancien pour faire fonctionner correctement la recherche de la date du dernier rappel
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("F2"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Retard").Sort
.SetRange Range("A2:F" & ligne)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
drapeau = True
Set cherche = .Columns("D").Find(numdemande.Value, Range("D" & 1).End(xlDown), xlValues, xlWhole)
If Not cherche Is Nothing Then
If Now() - cherche.Offset(0, 2).Value < Range("frequence").Value Then
drapeau = False 'on passe à false si le rappel a déjà eu lieu moins de jour que le paramètre frequence
End If
Set cherche = Nothing
End If
If drapeau Then
ligne = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Cells(ligne, 1) = numdemande.Offset(0, 5).Value
.Cells(ligne, 2) = numdemande.Offset(0, 7).Value
.Cells(ligne, 3) = numdemande.Offset(0, 2).Value
.Cells(ligne, 4) = numdemande.Value
Set cherche = Sheets("DEMANDEUR").Columns("B").Find(numdemande.Offset(0, 2).Value, Range("B" & 1).End(xlDown), xlValues, xlWhole)
If Not cherche Is Nothing Then
.Cells(ligne, 5) = cherche.Offset(0, 1)
Set cherche = Nothing
End If
If .Cells(ligne, 5) <> "" Then
envoi_email .Cells(ligne, 5).Value, Replace(Range("titre").Value, "<matériel1>", .Cells(ligne, 1), "<demande>", .Cells(ligne, 4)), Replace(Range("message").Value, "<matériel1>", .Cells(ligne, 1), "<datede retour>", .Cells(ligne, 2))
.Cells(ligne, 6) = Now()
End If
End If
End With
End If
Next numdemande
End Sub