IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E] erreur 1004 et depassement de capacité dans une boucle


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Par défaut [VBA-E] erreur 1004 et depassement de capacité dans une boucle
    bonjour,
    si "observations" existe sur la feuille il me met erreur 1004 la methode delete de la classe range a échoué
    et s'il ne trouve pas le mot il me met depassement de capacité et il s'arrête sur la ligne
    i = i + 1




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sheets("dotation").Activate
     
    i = 1
     
    'While cells(i, 1).Value <> "observations"
      While (Trim(LCase(cells(i, 1).Value)) <> "observations")
     ' While (InStr(1, (cells(i, 1).Value), "OBSERVATIONS", vbTextCompare) = 0)
        i = i + 1
    Wend
    Rows(i & ":" & i + 6).Delete'------->LIgne erreur

  2. #2
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    Bonjour,
    Si tu n'as pas de cellule avec observations dedans, c'est normal qu'il y ait erreur vu qu'il va chercher dans chaque cellule jusque tout en bas du tableau (soit la ligne 65537), sauf que moi il s'arrête à la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      While (Trim(LCase(Cells(i, 1).Value)) <> "observations")
    Chez moi, si il y a "observations" dans une cellule, ta macro marche bien
    Peut-être qu'il y a des cellules fusionnées verticalement dans les 7 lignes que tu effaces ? Peut-être que ton "observations" est dans les 6 dernières lignes du tableau (de 65532 à 65537 ?) auquel cas il n'arrive pas à effacer des lignes qui n'existent pas ?? mais bon je doute que tu utilise les 6 dernières lignes de ton tableau

  3. #3
    Membre éclairé Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Par défaut
    oui les cellules en dessous d'OBSERVATIONS sont fusionnées

  4. #4
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    C'est fusionné comment ? J'ai fait quelques tests, mais ça marche chez moi

  5. #5
    Membre éclairé Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Par défaut
    avec ce code il me met une erreur 6 depassement de capacité lorsqu'il ne trouve pas le mot mais le mot observation n'y sera pas forcément (j'aurais peut etre du commencer par là désolé


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    While (InStr(1, (cells(i, 1).Value), "OBSERVATIONS", vbTextCompare) = 0)
    Mes cellules sont fusionnées comme celà


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Sheets("dotation").Activate
    '[a65536].End(xlUp).Select
     NbLigneTab1 = Range("A65536").End(xlUp).Row
    NbLigneTab2 = Range("f65536").End(xlUp).Row
    If NbLigneTab1 <= NbLigneTab2 Then
        Range("a" & NbLigneTab2 + 1).Value = "OBSERVATIONS"
    ElseIf NbLigneTab1 >= NbLigneTab2 Then
        Range("A" & NbLigneTab1 + 1).Value = "OBSERVATIONS"
    End If
     
     [a65536].End(xlUp).Select
     
       ActiveCell.EntireRow.Offset(2, 0).Range("a1:K3").Select
    With Selection
        .HorizontalAlignment = xlGeneral
            .VerticalAlignment = xlCenter
            .WrapText = True
            .Orientation = 0
            .AddIndent = False
            ShrinkToFit = False
            .MergeCells = True
        End With
         ActiveCell.Offset(0, 0).Value = TextBox1
     
        Sheets("dotation").Activate

    Merci Cwain a+

  6. #6
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    Bon en fait pour l'erreur 1004, j'ai réussi à la reproduire si tu as des cellules protégées parmi les lignes que tu veux effacer.
    Pour les cellules fusionnées, chez moi ça pose pas de problème pourtant ya sûrement un p'tit quelque chose de ce côté là

    Pour le dépassement de capacité, peut-être tu simplifierais le code en nommant ta cellule "observations" pour pouvoir y faire appel par la suite ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E] erreur '1004' Range
    Par dev81 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 08/06/2007, 10h38
  2. [VBA-E] Erreur 1004
    Par Linio dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/06/2007, 14h25
  3. VBA-Word:Erreur 6 de dépassement de capacité
    Par zahui_eric dans le forum VBA Word
    Réponses: 3
    Dernier message: 04/04/2007, 16h17
  4. [vba][excel]Erreur '1004' lors d'un changement d'opérateur de comparaison.
    Par nicko5959 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/02/2007, 16h47
  5. [VBA][EXCEL]Erreur '1004' avec "Application.Run"
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/01/2006, 11h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo