Erreur d'éxecution 1004

coconutsn Messages postés 1 Date d'inscription lundi 19 juillet 2010 Statut Membre Dernière intervention 12 novembre 2010 - 12 nov. 2010 à 11:57
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 - 12 nov. 2010 à 12:52
Bonjour,



Merci à ceux qui me lisent.
J'ai un petit problème avec une macro VBA Excel (version 2000).

Dans une classeur Excel ("classeur1.xls"), j'ai réalisé une macro qui permet de créer une feuille, d'y mettre des informations puis d'enregistrer dans une autre classeur ("classeur2.xls"). Le code ne marche que de façon aléatoire. C'est à dire que tout fonctionne bien pendant un certain nombre de fois. Mais au bout de la n-ème fois (aléatoirement), et me sort le message d'erreur :


Erreur d'éxecution '1004' :
La méthode 'Range' de l'objet '_Global' a échoué


J'ai parcouru plusieurs forums mais n'ayant trouvé de solution, je me tourne vers vous.

Je vous mets une parti de mon code qui s'appelle "sauvegarde1". Acitée à partir du classeur1, elle a pour but d'ouvrir le classeur2 et d'y insérer des informations (copier/coller de cellules, et copie d'une feuille):




Sub sauvegarde1()
Source = ActiveWorkbook.Name
Année = UserForm2.Année
Chemin = ActiveWorkbook.Path
Dim NomChercher As String

Dim oFs As Variant
Dim NomFichier As String

Set oFs = Application.FileSearch

NomChercher = Année 'entrée dans une inputbox

With oFs
.LookIn = Chemin
.FileType = msoFileTypeExcelWorkbooks
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
NomFichier = .FoundFiles(i)
If Left(Right(NomFichier, 8), 4) = NomChercher Then
Application.EnableEvents = False
Workbooks.Open (NomFichier)
DEVERROUILLE 'sub qui déverrouille le classeur2 qui était vérrouillé
Application.EnableEvents = True
Destination = ActiveWorkbook.Name
Workbooks(Destination).Activate
Sheets("Opérations " & Année).Select
Workbooks(Source).Activate
Sheets("Aliment").Select
Range(Cells(1, 1), Cells(1, 77)).Copy
Workbooks(Destination).Activate
Sheets("Opérations " & Année).Select
Set celluletrouvee = Range("A:A").Find(UserForm2.NuméroAliment, LookIn:=xlValues) 'Cherche dans une cellule une variable entrée
If Not celluletrouvee Is Nothing Then
ligne = celluletrouvee.Row
Cells(ligne, 1).Select
ActiveSheet.Paste
Else
Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1).Select
ActiveSheet.Paste
End If
Application.DisplayAlerts = False
If FeuilleExiste(ActiveWorkbook, "A" & UserForm1.TextBoxDO.Value) = True Then Sheets("A" & UserForm1.TextBoxDO.Value).Delete 'fonction pour rechercher si une feuille est présente
Workbooks(Source).Activate ' problème a lieu soit sur cette ligne là, soit sur la suivante
Sheets("A" & UserForm2.NuméroAliment).Copy after:=Workbooks( _
Destination).Sheets("Opérations " & Année)

End If
Workbooks(Destination).Activate
Sheets("Opérations " & Année).Select
A = ActiveSheet.UsedRange.Rows.Count
ActiveWorkbook.Names("Database").Delete 'on supprime l'ancien nom
Range(Cells(8, 1), Cells(A, 71)).Name = "Database"
Workbooks(Destination).Activate
VERROUILLE
Workbooks(Destination).Close savechanges:=True
End If
Next
End If
End With
End Sub



En vous remerciant par avance

Coco=)

2 réponses

jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 344
12 nov. 2010 à 12:51
Bonjour,

déjà, penses à utiliser les balises de codes lorsque tu postes sur le forum. (lorsque tu rédiges ton message.. c'est la 3 eme icone en partant de la droite dans la barre d'outil de la fenetre où tu écris).


Ensuite, peux tu nous dire sur quelle ligne ton programme ?

As-tu essayé de parcrourir ton code en mode pas à pas pour trouver d'où vient le souci ?

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 344
12 nov. 2010 à 12:52
Bonjour,
désolé.. il manque un mot :
Ensuite, peux tu nous dire sur quelle ligne ton programme PLANTE ?


Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
Rejoignez-nous