Vba: erreur d'exécution 91: variable objet ou

nicolano -  
 nicolano -
Bonjour à vous,

ca fait quelques heures que je butte sur une macro en vba qui me sort un "erreur d'exécution 91: variable objet ou variable bloc non défini" en fin de boucle, au lieu d'en sortir.

L'objectif de la macro est d'aller récupérer des valeurs dans un fichier concaténé afin de les consolider dans un tableau.
dans chaque ligne commençant par "&&&DDD" (ex cidessous), je récupére les cinq derniers numéros, et les colle dans un autre tableau.

&&&DDD 999888 FRT00000145

Tout se passe bien, la macro récupère bien toutes mes valeurs.
Mais à la fin, au lieu de sortir de la boucle, le message "erreur d'exécution 91: variable objet ou variable bloc non défini"

Est ce que quelqu'un peut m'aider

Merci d'avance

Mon code:

Sub (copiercoller)

Dim l As Integer 'numéro de ligne comprenant la valeur à copier/coller dans tableau consolidé
Dim j As Integer 'numéro de ligne de tableau consolidé dans laquelle coller la valeur
Dim i As Integer
Dim codepr As String
Dim entetempr As String

Workbooks.Open Filename:="C:\Documents and Settings\p051398\Desktop\macro2\Consolidation PLR.xls"
Workbooks.Open Filename:="C:\Documents and Settings\p051398\Desktop\DMS\PLR\Vie Serie\MPR.DLR.xls"
Range("A1").Select
Selection.EntireRow.Insert

l = 1
j = 2
celluletrouvee = "xxx"

Do While celluletrouvee <> " "
Windows("MPR.DLR.xls").Activate
Set celluletrouvee = Range(Cells(l, 1), Cells(65500, 1)).Find("&&&DD", lookat:=xlPart)
If celluletrouvee Is Nothing Then
End If
l = celluletrouvee.Row

'je selectionne mon code PR
entetempr = ActiveSheet.Cells(l, 1).Value
codepr = Mid(entetempr, 58, 5)
Selection.Copy
Windows("Consolidation PLR.xls").Activate
Cells(j, 1).Value = codepr

j = j + 1
l = l + 1

Loop

End Sub

2 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    à tout zazar, n'est ce pas quand tu ne trouves plus de &&&DDD qur tu veux sortir
    ici à la place de::
    If celluletrouvee Is Nothing Then
    End If 


    essaies
    If celluletrouvee Is Nothing Then: exit sub


    en espèrant que...

    Tu nous aurais facilité le boulot si :
    1/tu avais indiqué sur quelle ligne du code ca plantait
    2/ tu mettais ton code entre les balises code ( le <> sur dessin de feuille dans les onglets du message
    D'avance, merci
    1
  2. nicolano
     
    Merci beaucoup pour ta réponse rapide.

    je vais essayer tout de suite

    et je prend note de tes remarques pour les informations complémentaires

    en fait, ca plante sur la ligne

    l = celluletrouvee.Row
    0