Demande d'aide pour un programme VBA
Fermé
papish_4732
Messages postés
28
Date d'inscription
lundi 7 juin 2021
Statut
Membre
Dernière intervention
22 juin 2021
-
Modifié le 15 juin 2021 à 11:45
yg_be Messages postés 23471 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 février 2025 - 16 juin 2021 à 12:08
yg_be Messages postés 23471 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 février 2025 - 16 juin 2021 à 12:08
A voir également:
- Demande d'aide pour un programme VBA
- Programme demarrage windows 10 - Guide
- Mettre en veille un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Forcer la fermeture d'un programme - Guide
- Desinstaller un programme - Guide
7 réponses
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
Ambassadeur
1 568
15 juin 2021 à 12:15
15 juin 2021 à 12:15
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.
papish_4732
Messages postés
28
Date d'inscription
lundi 7 juin 2021
Statut
Membre
Dernière intervention
22 juin 2021
Modifié le 15 juin 2021 à 13:54
Modifié le 15 juin 2021 à 13:54
ç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 !
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
15 juin 2021 à 16:37
15 juin 2021 à 16:37
que contient Cells(i, 42)?
papish_4732
Messages postés
28
Date d'inscription
lundi 7 juin 2021
Statut
Membre
Dernière intervention
22 juin 2021
15 juin 2021 à 17:01
15 juin 2021 à 17:01
Cells(i,42) contient les nombres du type : "20170302", que j'extraie pour le convertir en date.
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
15 juin 2021 à 17:04
15 juin 2021 à 17:04
tu as des soucis à toutes les lignes?
cela n'a jamais fonctionné nulle part?
cela n'a jamais fonctionné nulle part?
papish_4732
Messages postés
28
Date d'inscription
lundi 7 juin 2021
Statut
Membre
Dernière intervention
22 juin 2021
15 juin 2021 à 17:07
15 juin 2021 à 17:07
ça fonctionne mais ça renvoie une erreur de type 13 : "Incompatibilité de type"
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
15 juin 2021 à 17:09
15 juin 2021 à 17:09
veux-tu dire que cela fait une partie du travail, et que cela s'arrête ensuite avec un message d'erreur?
quelle est la valeur de i au moment du message d'erreur?
quelle est la valeur de i au moment du message d'erreur?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
papish_4732
Messages postés
28
Date d'inscription
lundi 7 juin 2021
Statut
Membre
Dernière intervention
22 juin 2021
15 juin 2021 à 17:18
15 juin 2021 à 17:18
dés la premiére valeur de i
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
15 juin 2021 à 18:05
15 juin 2021 à 18:05
pourquoi écris-tu alors que cela fonctionne?
quel est le contenu exact de la cellule en deuxième ligne et 42ième colonne?
quel est le contenu exact de la cellule en deuxième ligne et 42ième colonne?
papish_4732
Messages postés
28
Date d'inscription
lundi 7 juin 2021
Statut
Membre
Dernière intervention
22 juin 2021
15 juin 2021 à 18:27
15 juin 2021 à 18:27
le contenu est : 02/03/2017 mais c'est pas en format date de plus ça me renvoie cette erreur
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
15 juin 2021 à 19:09
15 juin 2021 à 19:09
normal alors que cela ne fonctionne pas.
le code est conçu pour traiter des nombres du type : "20170302".
si tu changes d'avis, il faut réécrire le code.
le code est conçu pour traiter des nombres du type : "20170302".
si tu changes d'avis, il faut réécrire le code.
papish_4732
Messages postés
28
Date d'inscription
lundi 7 juin 2021
Statut
Membre
Dernière intervention
22 juin 2021
16 juin 2021 à 12:03
16 juin 2021 à 12:03
bonjour,
je parle après exécution au fait.
je parle après exécution au fait.
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
16 juin 2021 à 12:08
16 juin 2021 à 12:08
cela devient petit à petit tout-à-fait incohérent.
15 juin 2021 à 12:22
Cells(i, 40) = Right(Cells(i, 40), 2) & "/" & Mid(Cells(i, 40), 5, 2) & "/" & Left(Cells(i, 40), 4)
Modifié le 15 juin 2021 à 12:29
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 !
15 juin 2021 à 12:52
quelles sont les valeurs précises en colonne 40 ou 42 sur la ligne où tu as l'erreur?