Erreur 1004
fanein
-
fanein Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
fanein Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je sais que le sujet à déjà été traité dans plusieurs forum mais je n'arrive pas a trouvé la bonne solution
J'ai rédigé une fonction VBA pour échanger 2 lignes sous une condition, pourtant le programme fonctionne pas tres bien suite à l'erreur 1004:"Erreur définie par l'application ou par l'objet"
Je vous montre mon programme ci-dessous:
Le programme est buggé à la ligne "Activesheet.rows(lRow2).value=aTemp", il est clairement que la ligne lRow1 est bien copié des valeurs dans lRow2 mais ça se passe pas pour le lRow2
En espérant de vos aides
Bonne journée
Je sais que le sujet à déjà été traité dans plusieurs forum mais je n'arrive pas a trouvé la bonne solution
J'ai rédigé une fonction VBA pour échanger 2 lignes sous une condition, pourtant le programme fonctionne pas tres bien suite à l'erreur 1004:"Erreur définie par l'application ou par l'objet"
Je vous montre mon programme ci-dessous:
[/contents/446-fichier-sub Sub] SwapRows(lRow1 As Long, lRow2 As Long) Dim aTemp() As Variant aTemp() = ActiveSheet.Rows(lRow1).Value ActiveSheet.Rows(lRow1).Value = ActiveSheet.Rows(lRow2).Value ActiveSheet.Rows(lRow2).Value = aTemp End Sub Sub classeom() Dim i As Long Dim counter As Long counter = 3 col = ActiveSheet.UsedRange.Columns.Count Row = ActiveSheet.UsedRange.Rows.Count For i = 3 To Row If Cells(i, 3) <> "<empty>" And Cells(i, 3) <> "" Then Call SwapRows(i, counter) counter = counter + 1 End If Next i End Sub
Le programme est buggé à la ligne "Activesheet.rows(lRow2).value=aTemp", il est clairement que la ligne lRow1 est bien copié des valeurs dans lRow2 mais ça se passe pas pour le lRow2
En espérant de vos aides
Bonne journée
A voir également:
- Erreur 1004
- Erreur 0x80070643 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
- Comment recuperer whatsapp supprimé par erreur - Guide
3 réponses
Bonjour
dans ta déclaration de "atemp" enlève "() as variant"
Ton tableau comporte plus 65236 lignes ?
Michel
dans ta déclaration de "atemp" enlève "() as variant"
SwapRows(lRow1 As Long, lRow2 As Long) Dim aTemp aTemp = ActiveSheet.Rows(lRow1).Value
Ton tableau comporte plus 65236 lignes ?
Michel
Bonsoir Michel,
Malgré ce qu'on a discute', jai finalement trouve' une solution, jai décidé de supprimer une partie de données et l'erreur revient plus, je comprends pas très bien mais clairement il y a un lien avec le nombre de données comme tu m'avais indiqué. merci beaucoup pour ton aide et bonne soirée :)
Malgré ce qu'on a discute', jai finalement trouve' une solution, jai décidé de supprimer une partie de données et l'erreur revient plus, je comprends pas très bien mais clairement il y a un lien avec le nombre de données comme tu m'avais indiqué. merci beaucoup pour ton aide et bonne soirée :)
merci pour ta réponse et la rapidité
tu peux m'expliquer l'intérêt d'ajouter le variable Col as integer? car mon objectif est de échanger entièrement 2 lignes en fait :(
j'ai modifié la déclaration de "atemp" mais il tombe tjs sur le même l'erreur.
si il y a qqchose n'est pas très claire dans ma question, pardonne-moi pour le français, je suis en train de pratiquer :)
mais tu travailles sur 16384 données ?
voici une photo de ma maquette essayée avec succès
Pourquoi avoir mis Col dans ta macro classom ?
merci bien pour ta correction!
Malheureusement, même si j'ai essayé de réduire le nombre de données, à partir d'un moment, l'erreur 1004 revient tjs, je te montre par les images ci dessous
(j'avais mis le variable "col" pour traiter une partie de donnés avant, comme dans ce cas j'en ai plus besoin, je l'enleverai)