Run time error '1004': Application-defined or

Bonjour à tous,

Je rencontre Run time error '1004': Application-defined or object-defined error dans le code suivant:

Sub modification_BCE()

Dim derniereligne As Integer

Dim i, j, k, n, m, l As Integer

Dim Plg As Range, Cel

derniereligne = ActiveSheet.Range("A65536").End(xlUp).Row

'Insérer la colonne A et écrire le nom du portefeuille

Columns("A:A").Insert Shift:=xlToRight

For i = 2 To derniereligne

Cells(i, 1).Value = "NATXFRPP-CORP-" & i

Next i

'Mettre un point devant l'identifiant du prêt en colonne B

Set Plg = Range("B2:B" & derniereligne)

For Each Cel In Plg

Cel.Formula = "." & Cel.Value

Next Cel

'Checker si le nombre de caractères est respecté dans la colonne "identifiant"

For j = 2 To derniereligne

If Len(Cells(j, 2)) > 100 Then

Rows(j).Select

Selection.Copy

Sheets("Feuil2").Select

ActiveSheet.Rows("1:1").Select

Selection.Insert Shift:=xlDown

Sheets("Feuil2").Range("B1").Interior.Color = RGB(255, 0, 0)

End If

Next j

'Checker si le nombre de caractères est respecté dans la colonne "nom de l'entreprise"

For k = 2 To derniereligne

If Len(Cells(k, 3)) > 100 Then

Rows(k).Select

Selection.Copy

Sheets("Feuil2").Select

ActiveSheet.Rows("1:1").Select

Selection.Insert Shift:=xlDown

Sheets("Feuil2").Range("C1").Interior.Color = RGB(255, 0, 0)

End If

Next k

'Checker si le nombre de caractères est respecté dans la colonne "Adresse siège sociale" sinon coller dans la colonne suivante

For n = 2 To derniereligne

If Len(Cells(n, 7)) > 250 Then

Cells(n, 8).Value = Mid(Cells(n, 7).Value, 250)

End If

Next n

'Checker si le nombre de caractères est respecté dans la colonne "Adresse siège social 2"

For m = 2 To derniereligne

If Len(Cells(m, 8)) > 250 Then

Rows(m).Select

Selection.Copy

Sheets("Feuil2").Select

ActiveSheet.Rows("1:1").Select

Selection.Insert Shift:=xlDown

Sheets("Feuil2").Range("H1").Interior.Color = RGB(255, 0, 0)

End If

Next m

'Checker si le nombre de caractères est respecté dans la colonne "ICAS"

For l = 2 To derniereligne

If Len(Cells(l, 26)) > 3 Then

Rows(l).Select

Selection.Copy

Sheets("Feuil2").Select

ActiveSheet.Rows("1:1").Select

Selection.Insert Shift:=xlDown

Sheets("Feuil2").Range("Z1").Interior.Color = RGB(255, 0, 0)

End If

Next l

End Sub

Ce qui est très surprenant est que lorsque j'exécute le code ligne par ligne, il semble très bien fonctionner. Ce que je sais est les problèmes concernent les codes où je check la longueur des caractères dans les cellules avec la fonction "Len".

Merci d'avance pour vos réponses.


Les 2 smyleys ne sont que l'addition d'un 8 et d'une )

Bonjour

Quelle est la relation entre ActiveSheet et Sheets("Feuil2")

Dans ton code on pense que c'est le même endroit, car tu vas dans "Feuil2" Sheets("Feuil2").Select mais tu n'en reviens jamais

En outre pourquoi y aller, si c'est le même endroit ?

Pour te dire que ton fichier est espéré

Merci pour ta réponse.

Non ce n'est pas la même, j'ai mis le code dans "feuil1" et après je vais coller les lignent qui ne respectent pas mes critères dans "feuil2". Tu verras dans mon fichier joint, les lignes qui ne vont pas se situent dans les 5 première lignes.

Merci.

Bonjour

Déjà une indication

doudou.VBA a écrit :

Non ce n'est pas la même

Donc ta macro ne va pas

Au début pas de soucis, mais dès que la macro va basculer dans la page "feuil2" Sheets("Feuil2").Select, les futures comparaisons exemple If Len(Cells(j, 2)) > 100 Then se feront sur la page "Feuil2" et non comme prévu sur la page "Feuil1"

Le problème vient de là

Ton fichier n'est pas passé

Si <= 300 Ko (compressé au besoin) sur le site directement

Sinon Cjoint http://cjoint.com/index.php

Rechercher des sujets similaires à "run time error 1004 application defined"