Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/11/2011, 19h57   #1
Futur Membre du Club
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Boutique - Magasin

Informations forums :
Inscription : octobre 2011
Messages : 18
Points : 17
Points : 17
Par défaut [XL-2003] Run-time error '9'

Bonsoir,

Les variables "miseajour_bd" et "miseajour_mep" fonctionnaient très bien, mais depuis quelques jours j'obtiens un message d'erreur run-time error '9'. Je précise que le "classeur_2" est ouvert et que depuis le module j'ouvre le "classeur_1". L'erreur apparaît sur la ligne ou je déclare la valeur de la variable "miseajour_bd" (si je mets un remark, l'erreur saute sur l'autre variable). Les deux classeurs sont dans le même répertoire "test". Merci de votre aide.

Voici un bout du code:


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub Import_AR()
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim l As Integer
 
    Dim flag As String
 
    Dim miseajour_bd As Date
    Dim miseajour_mep As Date
 
    'Importe les données
    Workbooks.Open Filename:= _
        "C:\test\classeur_1.xls"
 
    miseajour_bd = Format(CDate(Workbooks("classeur_1").Worksheets("feuille_1").Range("AZ2").Value), "dd/mm/yyyy")
    miseajour_mep = Format(CDate(Workbooks("classeur_2").Worksheets("feuille_1").Range("H3").Value), "dd/mm/yyyy")
Pimpampoum est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 03h45   #2
Modérateur
 
Avatar de AlainTech
 
Homme Alain Gerard
Consultant informatique
Inscription : mai 2005
Messages : 3 675
Détails du profil
Informations personnelles :
Nom : Homme Alain Gerard
Âge : 58
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : mai 2005
Messages : 3 675
Points : 7 669
Points : 7 669
Bonjour,

Tes 2 variables sont typées Date.
Pourquoi utilises-tu un Format (qui renvoie un String) pour leur assigner une valeur?

De plus, si dans le classeur_1, ce sont des dates, pourquoi utiliser CDate?
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
AlainTech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 08h55   #3
Futur Membre du Club
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Boutique - Magasin

Informations forums :
Inscription : octobre 2011
Messages : 18
Points : 17
Points : 17
Bonjour,

J'utilise un excel en anglais, si je n'utilise pas format et cdate combinés je récupéré bien de dates mais en format mm/jj/aaaa ce qui n'est pas bon pour moi. En utilisant format seul ce n'est plus une date, c'est pour ça que je le combine avec cdate.
Ce qui me rend dingue c'est qu'il y a une semaine le même code fonctionnait à merveille.
Pimpampoum est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 10h13   #4
Futur Membre du Club
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Boutique - Magasin

Informations forums :
Inscription : octobre 2011
Messages : 18
Points : 17
Points : 17
Bonjour,

J'ai resolu mon problème en ajoutant l'extension .xls chaque fois que j'utilise l'instruction Workbooks :


Code :
miseajour_bd = Format(CDate(Workbooks("classeur_1.xls").Worksheets("feuille_1").Range("AZ2").Value), "dd/mm/yyyy")
Code :
miseajour_mep = Format(CDate(Workbooks("classeur_2.xls").Worksheets("feuille_1").Range("H3").Value), "dd/mm/yyyy")
Pimpampoum est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h53.


 
 
 
 
Partenaires

Hébergement Web