OVH Cloud OVH Cloud

Message quant je valide une cellule de la colonne « J »

6 réponses
Avatar
ABED HADDOU
Bonjour à tous

J’utilise le code suivant dans mon classeur
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ligne = ActiveCell.Row
If Not Intersect([C13:C65000], Target) Is Nothing And Target.Count = 1 Then
Exit Sub

DateOp = Range("C" & ligne).Value
If IsDate(DateOp) Then

If Month(DateOp) < 10 Then
Mois = "0" & Month(DateOp)
Else
Mois = Month(DateOp)
End If
Else
Style = vbOKOnly + vbExclamation
Title = " Validation des dates"
Invdate = MsgBox(" « " & DateOp & " » " & " Date invalide", Style,
Title)
Range("c" & ligne).Select
End If

End Sub

Le problème quant je valide la cellule de la colonne ( j ) pour retourner a
la colonne ( C )
Le message « date invalide » apparu pourtant j’ai pas encore saisi de
valeur dans la cellule de la colonne (C ) elle est toujours vide .
Merci d'avance a toute personne qui m'apportera une solution

6 réponses

Avatar
Ardus Petus
If Not Intersect([C13:C65000], Target) Is Nothing And Target.Count = 1 Then
Exit Sub
End If


Cordialement
--
AP

"ABED HADDOU" a écrit dans le message
de news:
Bonjour à tous

J'utilise le code suivant dans mon classeur
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ligne = ActiveCell.Row
If Not Intersect([C13:C65000], Target) Is Nothing And Target.Count = 1
Then

Exit Sub

DateOp = Range("C" & ligne).Value
If IsDate(DateOp) Then

If Month(DateOp) < 10 Then
Mois = "0" & Month(DateOp)
Else
Mois = Month(DateOp)
End If
Else
Style = vbOKOnly + vbExclamation
Title = " Validation des dates"
Invdate = MsgBox(" « " & DateOp & " » " & " Date invalide",
Style,

Title)
Range("c" & ligne).Select
End If

End Sub

Le problème quant je valide la cellule de la colonne ( j ) pour retourner
a

la colonne ( C )
Le message « date invalide » apparu pourtant j'ai pas encore saisi de
valeur dans la cellule de la colonne (C ) elle est toujours vide .
Merci d'avance a toute personne qui m'apportera une solution



Avatar
ABED HADDOU
Bonsoir * Ardus Petus *
Excuse moi j’ai fait un peut de retarde pour te repondre , * Isteph * ma
fait la remarque.
Merci pour ta réponse.
Au sujet de ma question relative au message « msgbox », ça marche pas le
Endif que tu ma proposé ça na pas de sens puisque le Exit Sub se trouve a la
ligne même que la condition If
If Not Intersect ([C13:C65000], Target) Is Nothing and Target.Count = 1 Then
Exit sub
Merci



If Not Intersect([C13:C65000], Target) Is Nothing And Target.Count = 1 Then
Exit Sub
End If


Cordialement
--
AP

"ABED HADDOU" a écrit dans le message
de news:
Bonjour à tous

J'utilise le code suivant dans mon classeur
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ligne = ActiveCell.Row
If Not Intersect([C13:C65000], Target) Is Nothing And Target.Count = 1
Then

Exit Sub

DateOp = Range("C" & ligne).Value
If IsDate(DateOp) Then

If Month(DateOp) < 10 Then
Mois = "0" & Month(DateOp)
Else
Mois = Month(DateOp)
End If
Else
Style = vbOKOnly + vbExclamation
Title = " Validation des dates"
Invdate = MsgBox(" « " & DateOp & " » " & " Date invalide",
Style,

Title)
Range("c" & ligne).Select
End If

End Sub

Le problème quant je valide la cellule de la colonne ( j ) pour retourner
a

la colonne ( C )
Le message « date invalide » apparu pourtant j'ai pas encore saisi de
valeur dans la cellule de la colonne (C ) elle est toujours vide .
Merci d'avance a toute personne qui m'apportera une solution








Avatar
Ardus Petus
Non, le End If est tout seul sur sa ligne

--
AP

"ABED HADDOU" a écrit dans le message
de news:
Bonsoir * Ardus Petus *
Excuse moi j'ai fait un peut de retarde pour te repondre , * Isteph * ma
fait la remarque.
Merci pour ta réponse.
Au sujet de ma question relative au message « msgbox », ça marche pas le
Endif que tu ma proposé ça na pas de sens puisque le Exit Sub se trouve a
la

ligne même que la condition If
If Not Intersect ([C13:C65000], Target) Is Nothing and Target.Count = 1
Then

Exit sub
Merci



If Not Intersect([C13:C65000], Target) Is Nothing And Target.Count = 1
Then


Exit Sub
End If


Cordialement
--
AP

"ABED HADDOU" a écrit dans le
message


de news:
Bonjour à tous

J'utilise le code suivant dans mon classeur
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ligne = ActiveCell.Row
If Not Intersect([C13:C65000], Target) Is Nothing And Target.Count = 1
Then

Exit Sub

DateOp = Range("C" & ligne).Value
If IsDate(DateOp) Then

If Month(DateOp) < 10 Then
Mois = "0" & Month(DateOp)
Else
Mois = Month(DateOp)
End If
Else
Style = vbOKOnly + vbExclamation
Title = " Validation des dates"
Invdate = MsgBox(" « " & DateOp & " » " & " Date invalide",
Style,

Title)
Range("c" & ligne).Select
End If

End Sub

Le problème quant je valide la cellule de la colonne ( j ) pour
retourner



a
la colonne ( C )
Le message « date invalide » apparu pourtant j'ai pas encore saisi de

valeur dans la cellule de la colonne (C ) elle est toujours vide .
Merci d'avance a toute personne qui m'apportera une solution










Avatar
ABED HADDOU
Bonsoir * Ardus *
Peut être j’ai mal expliquer, si tu veut copie le code a nouveau dans un
classeur chez toi et tu m’envoi les corrections par message si c’est possible.
Merci bien.



Non, le End If est tout seul sur sa ligne

--
AP

"ABED HADDOU" a écrit dans le message
de news:
Bonsoir * Ardus Petus *
Excuse moi j'ai fait un peut de retarde pour te repondre , * Isteph * ma
fait la remarque.
Merci pour ta réponse.
Au sujet de ma question relative au message « msgbox », ça marche pas le
Endif que tu ma proposé ça na pas de sens puisque le Exit Sub se trouve a
la

ligne même que la condition If
If Not Intersect ([C13:C65000], Target) Is Nothing and Target.Count = 1
Then

Exit sub
Merci



If Not Intersect([C13:C65000], Target) Is Nothing And Target.Count = 1
Then


Exit Sub
End If


Cordialement
--
AP

"ABED HADDOU" a écrit dans le
message


de news:
Bonjour à tous

J'utilise le code suivant dans mon classeur
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ligne = ActiveCell.Row
If Not Intersect([C13:C65000], Target) Is Nothing And Target.Count = 1
Then

Exit Sub

DateOp = Range("C" & ligne).Value
If IsDate(DateOp) Then

If Month(DateOp) < 10 Then
Mois = "0" & Month(DateOp)
Else
Mois = Month(DateOp)
End If
Else
Style = vbOKOnly + vbExclamation
Title = " Validation des dates"
Invdate = MsgBox(" « " & DateOp & " » " & " Date invalide",
Style,

Title)
Range("c" & ligne).Select
End If

End Sub

Le problème quant je valide la cellule de la colonne ( j ) pour
retourner



a
la colonne ( C )
Le message « date invalide » apparu pourtant j'ai pas encore saisi de

valeur dans la cellule de la colonne (C ) elle est toujours vide .
Merci d'avance a toute personne qui m'apportera une solution















Avatar
Ardus Petus
Voici le code corrigé.
Je ne pense pas qu'il fasse exactement ce dont tu as besoin.
Tu devrais regarder du côté de Données>Validation Date
et formatter ta colonne C en JJ/mm/aaaa

Cordialement,
--
AP

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ligne = ActiveCell.Row
If Intersect([C13:C65000], Target) Is Nothing _
Or Not Target.Count = 1 _
Then Exit Sub

DateOp = Range("C" & ligne).Value
If IsDate(DateOp) Then

If Month(DateOp) < 10 Then
Mois = "0" & Month(DateOp)
Else
Mois = Month(DateOp)
End If
Else
Style = vbOKOnly + vbExclamation
Title = " Validation des dates"
Invdate = MsgBox(" « " & DateOp & " » " & _
" Date invalide", Style, Title)
Range("c" & ligne).Select
End If

End Sub



"ABED HADDOU" a écrit dans le message
de news:
Bonsoir * Ardus *
Peut être j'ai mal expliquer, si tu veut copie le code a nouveau dans un
classeur chez toi et tu m'envoi les corrections par message si c'est
possible.

Merci bien.
"Ardus Petu> >


Avatar
ABED HADDOU
Bonsoir * Ardus *
Avec données validation ça marche, mais pour que le code marche bien et
comme je veux Je voudrai imposer la saisie d’une valeur et le curseur
retourne à la cellule ou ne la valide pas si elle est vide. J'ai recopie le
code corrigé mais le problème persiste toujours
Merci bien




Voici le code corrigé.
Je ne pense pas qu'il fasse exactement ce dont tu as besoin.
Tu devrais regarder du côté de Données>Validation Date
et formatter ta colonne C en JJ/mm/aaaa

Cordialement,
--
AP

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ligne = ActiveCell.Row
If Intersect([C13:C65000], Target) Is Nothing _
Or Not Target.Count = 1 _
Then Exit Sub

DateOp = Range("C" & ligne).Value
If IsDate(DateOp) Then

If Month(DateOp) < 10 Then
Mois = "0" & Month(DateOp)
Else
Mois = Month(DateOp)
End If
Else
Style = vbOKOnly + vbExclamation
Title = " Validation des dates"
Invdate = MsgBox(" « " & DateOp & " » " & _
" Date invalide", Style, Title)
Range("c" & ligne).Select
End If

End Sub



"ABED HADDOU" a écrit dans le message
de news:
Bonsoir * Ardus *
Peut être j'ai mal expliquer, si tu veut copie le code a nouveau dans un
classeur chez toi et tu m'envoi les corrections par message si c'est
possible.

Merci bien.
"Ardus Petu> >