Erreur de compilation

Bonjour,

Lorsque je lance mon code j'ai une erreur de compilation mais je ne comprends pas pourquoi.

Le but est de faire des comparaisons de fichiers sur plusieurs mois et si une valeur n’apparaît pas dans le fichier de la veille on ajoute un date.

J'ai mis en pj un exemple de fichier (les fichiers comparés sont de même nature sauf qu'il y a des enregistrements en plus ou en moins).

Voici une partie de mon code, l'erreur survient sur la dernière ligne surlignée et en gras sur la variable "resultat". Merci d'avance pour votre aide

Dim chemin As String

Dim fichier As String, j As Integer, i As Integer

Dim MyFiles() As String

Dim resultat As String

Dim valeur As String

Dim feujour As String

Dim feuveille As Range

Dim dateorange As Range

Dim datevert As Range

Set wo = ThisWorkbook

fichier2 = wo.Worksheets("Feuil1").Range("B3").Value

Workbooks.Open "D:\Test" & Application.PathSeparator & fichier2

Set wk0 = ActiveWorkbook

chemin = "D:\Test\Test2" & Application.PathSeparator 'Chemin du trimestre actuel

fichier = Dir(chemin)

Do While fichier <> ""

ReDim Preserve MyFiles(j)

MyFiles(j) = fichier

j = j + 1

fichier = Dir()

Loop

Workbooks.Open chemin & MyFiles(0)

Windows(MyFiles(0)).Activate

Range("A4").Select

Selection.End(xlDown).Select

fin = ActiveCell.Row

For i = 4 To fin

valeur = Range("A" & i).Value

feujour = Range("G" & i).Value

Orange = "H" & i 'Orange servira à aller sur la case H4 à H"fin"

Vert = "I" & i 'Vert servira à aller sur la case I4 à I"fin"

Windows(fichier2).Activate

resultat = Windows(fichier2).Columns(1).Find(What:=valeur, LookAt:=xlWhole, MatchCase:=False)

Set feuveille = Windows(fichier2).Cells(i, 7) 'on récupère la valeur de la case G4 à G"fin"

Set dateorange = Windows(frichier2).Cells(i, 8) 'on récupère la valeur de la case H4 à H"fin"

Set datevert = Windows(fichier2).Cells(i, 9) 'on récupère la valeur de la case I4 à I"fin"

If resultat Is Nothing And feujour = "Feu orange Arrivée" Then

bonjour

pourquoi du VBA, alors que tu as MenuDonnées/Obtenir de répertoire ?

c'est magique

en pas fabriquer un ETL avec VBA

(ça se faisait il y a 10 ans parce que Obtenir (Power Query) n'existait pas, du moins pas aussi pratique)

amitiés

salut jmd,

t'en as d'la chance, toi ! comme tu fais jamais d'VBA, t'as jamais d'erreurs de compilation !

dhany

Bonjour Marty,

c'est très bizarre : tu as joint un fichier .xlsm mais il n'y a aucun code VBA !

* y'a aucun Module standard tel que Module1

* le module de l'unique feuille est vide

* aucun code dans ThisWorkbook

c'est peut-être une erreur de fichier ?

dhany

ça a tout l'air d'être ceci :

* au lieu de Dim resultat As String met : Dim resultat As Range

* puis plus bas, ajoute set devant resultat = :

set resultat = Windows(fichier2).Columns(1).Find(What:=valeur, LookAt:=xlWhole, MatchCase:=False)

dhany

Bonjour dhany,

Merci pour ton retour. En faisant ta technique j'ai maintenant l'erreur suivante : Erreur 438 sur la ligne :

Set resultat = Windows(fichier2).Columns(1).Find(What:=valeur, LookAt:=xlWhole, MatchCase:=False)

Ca me sort que resultat = Nothing.

Je te joins le fichier où il y a la macro complète (c'est encore en chantier )

Si tu peux m'aider merci d'avance.

3essai.xlsm (23.66 Ko)

c'est idem qu'avant : y'a toujours pas d'code VBA dans ton fichier !

dhany

regarde cette image :

screen

dhany

Merci, c'est étrange car chez moi j'ai bien Module1. Je vais voir ça.

Merci encore

c'est peut-être le système de sécurité de ton entreprise qui supprime les macros ?

dhany

J'y ai pensé aussi

alors peut-être que le responsable de ton service informatique peut arranger ça ?

dhany

dhany,

Est-ce que je peux coller mon code directement ici pour que tu y jettes un coup d’œil ou c'est trop demandé ?

essaye, mais j'espère que ton code VBA est pas trop long !

dhany

Si il est assez long Du coup je vais pas t'embêter plus et je vais trouver un moyen de m'en sortir.

En tout cas merci pour ton aide.

salut jmd,

t'en as d'la chance, toi ! comme tu fais jamais d'VBA, t'as jamais d'erreurs de compilation !

dhany

Power Query ne fait pas "d'erreur", ni de compilation (est-il compilé en final ? je n'en sais rien) ni en phase de mise au point (facilité par l'interface et par le fait qu'il est interprété ligne à ligne)

tout possesseur d'Excel récent doit l'apprendre

amitiés

Rechercher des sujets similaires à "erreur compilation"