Demande d'aide pour un programme VBA
papish_4732
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour tout le monde,
J'ai une erreur de type 13: "incompatibilité de type" au niveau de la ligne 5 et 6:
"Cells(i, 40) = CDate(Right(Cells(i, 40), 2) & "/" & Mid(Cells(i, 40), 5, 2) & "/" & Left(Cells(i, 40), 4))"
Qui pourrait m'aider sur ca ?
Sub changement_date()
Dim i As Double
i = 2
Do While Cells(i, 1) <> ""
Cells(i, 40) = CDate(Right(Cells(i, 40), 2) & "/" & Mid(Cells(i, 40), 5, 2) & "/" & Left(Cells(i, 40), 4))
'Cells(i, 42) = CDate(Right(Cells(i, 42), 2) & "/" & Mid(Cells(i, 42), 5, 2) & "/" & Left(Cells(i, 42), 4))
i = i + 1
Loop
End Sub
J'ai une erreur de type 13: "incompatibilité de type" au niveau de la ligne 5 et 6:
"Cells(i, 40) = CDate(Right(Cells(i, 40), 2) & "/" & Mid(Cells(i, 40), 5, 2) & "/" & Left(Cells(i, 40), 4))"
Qui pourrait m'aider sur ca ?
Sub changement_date()
Dim i As Double
i = 2
Do While Cells(i, 1) <> ""
Cells(i, 40) = CDate(Right(Cells(i, 40), 2) & "/" & Mid(Cells(i, 40), 5, 2) & "/" & Left(Cells(i, 40), 4))
'Cells(i, 42) = CDate(Right(Cells(i, 42), 2) & "/" & Mid(Cells(i, 42), 5, 2) & "/" & Left(Cells(i, 42), 4))
i = i + 1
Loop
End Sub
A voir également:
- Demande d'aide pour un programme VBA
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Forcer la fermeture d'un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Desinstaller un programme - Guide
7 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
tu n'expliques ni ce que contiennent les colonnes 40 et 42, ni ce que tu veux obtenir.
tu n'expliques ni ce que contiennent les colonnes 40 et 42, ni ce que tu veux obtenir.
ça vient toujours pas !
J'ai essayé avec la fonction DateSerial(), ça marche dans la base mais ça me renvoie toujours une erreur de type 13: "Incompatibilité de type" au niveau de la ligne: "L_Annee = Left(Cells(i, 42), 4)"
Sub changement_date()
Dim i As Double
Dim Le_mois As Integer, Le_jour As Integer, L_Annee As Integer
i = 2
Do While Cells(i, 1) <> ""
L_Annee = Left(Cells(i, 42), 4)
Le_mois = Mid(Cells(i, 42), 5, 2)
Le_jour = Right(Cells(i, 42), 2)
Cells(i, 42) = DateSerial(L_Annee, Le_mois, Le_jour)
i = i + 1
Loop
End Sub
Merci cordialement !
J'ai essayé avec la fonction DateSerial(), ça marche dans la base mais ça me renvoie toujours une erreur de type 13: "Incompatibilité de type" au niveau de la ligne: "L_Annee = Left(Cells(i, 42), 4)"
Sub changement_date()
Dim i As Double
Dim Le_mois As Integer, Le_jour As Integer, L_Annee As Integer
i = 2
Do While Cells(i, 1) <> ""
L_Annee = Left(Cells(i, 42), 4)
Le_mois = Mid(Cells(i, 42), 5, 2)
Le_jour = Right(Cells(i, 42), 2)
Cells(i, 42) = DateSerial(L_Annee, Le_mois, Le_jour)
i = i + 1
Loop
End Sub
Merci cordialement !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Cells(i, 40) = Right(Cells(i, 40), 2) & "/" & Mid(Cells(i, 40), 5, 2) & "/" & Left(Cells(i, 40), 4)
Au fait la cellule "cells(2,40)" contient un nombre dont le format est : "20170302" et je veux changer ça en format date: "02/03/2017" et le mettre dans la même cellule.
Merci cordialement !
quelles sont les valeurs précises en colonne 40 ou 42 sur la ligne où tu as l'erreur?