Téléchargement
illégal
Posez votre question Signaler

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

nicolano - Dernière réponse le 5 févr. 2010 à 16:40
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
Lire la suite 

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

2 réponses
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Ce document intitulé « vba: erreur d'exécution 91: variable objet ou » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?