Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Formats de date differents

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tactic6

XLDnaute Impliqué
Bonjour le forum et tous les autres
dans ce code
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column = 7 Then
        If IsDate(Cells(Target.Row, 2)) Then
            Cells(Target.Row, 11) = [COLOR="DarkRed"]Date[/COLOR] - [COLOR="Purple"]Cells(Target.Row, 2)[/COLOR]
           
        Else
            Cells(Target.Row, 11) = CVErr(xlErrValue)
        End If
    End If
End Sub
Date est au format 26/09/2009
et
Cells(Target.Row, 2) est au format 26 septembre 2009

ce qui me met une erreur d'execution 13 : Incompatibilité de type

Quelqu'un connait une solution

Bon Week End à tous
 
Re : Formats de date differents

Bonjour tactic6,

Il n'y a pas de bug si Cells(Target.Row, 2) est bien une valeur numérique (au format Date quelconque).

En fait Cells(Target.Row, 2) doit contenir un texte.

Si l'on veut éviter le bug :

Code:
If IsNumeric(Cells(Target.Row, 2)) And IsDate(Cells(Target.Row, 2)) Then

A+
 
Re : Formats de date differents

Bonjour les amis

ça avance ça avance
j'ai bien une ecriture qui se fait en colonne 11 mais au lieu de me mettre un nombre j'ai un
#VALEUR!

Mais je sens qu'on y est presque
 
Re : Formats de date differents

Re, salut youky 🙂

La solution de youky (DateValue) fonctionne dans tous les cas, testez-la.

Quant à la mienne, il faut la modifier :

Code:
If IsNumeric(Cells(Target.Row, 2).[COLOR="Red"]Value2[/COLOR]) And IsDate(Cells(Target.Row, 2)) Then

La valeur inscrite est un nombre quand la date est bien une valeur numérique, c'est #Valeur! dans le cas contraire.

A+
 
Re : Formats de date differents

Bonjour le forum
l'union fait la force
à vous deux combiné le bon code j'ai trouvé
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column = 7 Then

        If IsDate(Cells(Target.Row, 2)) Then

Cells(Target.Row, 11) = Date - DateValue(Cells(Target.Row, 2))
                   
        Else
            Cells(Target.Row, 11) = CVErr(xlErrValue)
        End If
    End If
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
793
Réponses
5
Affichages
917
Réponses
4
Affichages
588
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
458
Réponses
3
Affichages
645
Réponses
1
Affichages
468
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…