Résultat opération fait sur 2 colonnes
m-ln
-
m-ln -
m-ln -
Bonjour,
dans une colonne, j'aimerais récupérer le résultat d'une opération réalisée sur deux colonnes.
cad :
j'ai une colonne avec une date de fin de contrat, une colonne avec une durée de préavis (en mois).
et dans une colonne, j'aimerais récupérer le résultat : date de fin de contrat-préavis
ensuite, j'aimerais alerter l'utilisateur du préavis par rapport à la date d'aujourd'hui avec un MSGBOX.
ex : date de fin de contrat : 1.03.2008
préavis : 3 mois
auparavant je convertis la durée de préavis en jours : 3*30=90 jours
d'où date de fin de contrat-préavis=02.12.2007
ensuite si la date d'aujourd'hui = 02.12.2007 alors message :"attention préavis"
Voici ce que j'ai fait:
Sub date_preavis()
'declaration des variables
Dim c As Range
Dim delais2 As Date
i = 2
For Each c In Range(("AA" & i), Range("AA" & i).End(xlDown))
delais2 = Range("N" & i).Value - (Range("O" & i).Value * 30) 'pour convertir le mois en jours
Range("AA" & i).Value = delais2
If Date = delais2 Then
MsgBox ("Attention preavis pour " & Cells(i, 1).Value)
End If
Exit For
Next
End Sub
que faut-il rajouter pour gérer les cellules vides ?
Merci d'avance pour votre aide.
dans une colonne, j'aimerais récupérer le résultat d'une opération réalisée sur deux colonnes.
cad :
j'ai une colonne avec une date de fin de contrat, une colonne avec une durée de préavis (en mois).
et dans une colonne, j'aimerais récupérer le résultat : date de fin de contrat-préavis
ensuite, j'aimerais alerter l'utilisateur du préavis par rapport à la date d'aujourd'hui avec un MSGBOX.
ex : date de fin de contrat : 1.03.2008
préavis : 3 mois
auparavant je convertis la durée de préavis en jours : 3*30=90 jours
d'où date de fin de contrat-préavis=02.12.2007
ensuite si la date d'aujourd'hui = 02.12.2007 alors message :"attention préavis"
Voici ce que j'ai fait:
Sub date_preavis()
'declaration des variables
Dim c As Range
Dim delais2 As Date
i = 2
For Each c In Range(("AA" & i), Range("AA" & i).End(xlDown))
delais2 = Range("N" & i).Value - (Range("O" & i).Value * 30) 'pour convertir le mois en jours
Range("AA" & i).Value = delais2
If Date = delais2 Then
MsgBox ("Attention preavis pour " & Cells(i, 1).Value)
End If
Exit For
Next
End Sub
que faut-il rajouter pour gérer les cellules vides ?
Merci d'avance pour votre aide.
A voir également:
- Résultat opération fait sur 2 colonnes
- Faire 2 colonnes sur word - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Resultat foot - Télécharger - Vie quotidienne
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Inverser 2 colonnes excel - Guide
6 réponses
Bonjour,
il suffit juste de tester que Range("N" & i).Value et Range("O" & i).Value ne sont pas nulles
if not isnull(Range("N" & i).Value) or not isnull(Range("O" & i).Value) then
delais2 = Range("N" & i).Value - (Range("O" & i).Value * 30) 'pour convertir le mois en jours
Range("AA" & i).Value = delais2
If Date = delais2 Then
MsgBox ("Attention preavis pour " & Cells(i, 1).Value)
End If
endif
il suffit juste de tester que Range("N" & i).Value et Range("O" & i).Value ne sont pas nulles
if not isnull(Range("N" & i).Value) or not isnull(Range("O" & i).Value) then
delais2 = Range("N" & i).Value - (Range("O" & i).Value * 30) 'pour convertir le mois en jours
Range("AA" & i).Value = delais2
If Date = delais2 Then
MsgBox ("Attention preavis pour " & Cells(i, 1).Value)
End If
endif
Donc ça donnerait :
Sub date_preavis()
Dim c As Range
Dim delais2 As Date
'selection de la feuille contrats
Sheets("contrats").Select
i = 2
For Each c In Range(("AA" & i), Range("AA" & i).End(xlDown))
If Not IsNull(Range("N" & i).Value) Or Not IsNull(Range("O" & i).Value) Then
delais2 = Range("N" & i).Value - (Range("O" & i).Value * 30) 'pour convertir le mois en jours
Range("AA" & i).Value = delais2
If Date = delais2 Then
MsgBox ("Attention preavis pour " & Cells(i, 1).Value)
End If
End If
i = i + 1
Next
End Sub
est-ce correct ?
Sub date_preavis()
Dim c As Range
Dim delais2 As Date
'selection de la feuille contrats
Sheets("contrats").Select
i = 2
For Each c In Range(("AA" & i), Range("AA" & i).End(xlDown))
If Not IsNull(Range("N" & i).Value) Or Not IsNull(Range("O" & i).Value) Then
delais2 = Range("N" & i).Value - (Range("O" & i).Value * 30) 'pour convertir le mois en jours
Range("AA" & i).Value = delais2
If Date = delais2 Then
MsgBox ("Attention preavis pour " & Cells(i, 1).Value)
End If
End If
i = i + 1
Next
End Sub
est-ce correct ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question