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 :

Erreur 1004, définie par l'application ou l'objet [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 7
    Par défaut Erreur 1004, définie par l'application ou l'objet
    Bonjour, je me tourne vers vous car je ne trouve pas la solution à mon problème.
    Je débute sous VBA et j'ai quelques trucs emboités.
    La ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cells(i, 7) >= Cells(1, x) And Cells(i, 7) < Cells(1, x + 1) Then
    semble responsable d'une erreur "1004 définie par l'application ou l'objet".

    Bizarrement, malgré l'erreur, une première colonne se remplit mais la boucle avec "c" ne fait qu'un seul tour.

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Option Explicit
    Sub fNIRS()
     
    Dim col As Range
    Dim cel As Range
    Dim i As Long
    Dim x As Long
    Dim c As Integer
     
    For c = 2 To 6
     
        For i = 9 To 1000
     
        x = 12
     
            If Cells(i, 7) <> "" Then
     
             Do
     
                If Cells(i, 7) >= Cells(1, x) And Cells(i, 7) < Cells(1, x + 1) Then
                Cells(i, c).value = Cells(c, x).value
                Else
                x = x + 1
                End If
     
             Loop Until Cells(i, c) <> ""
     
            End If
     
        Next i
     
    Next c
     
    End Sub
    Avez-vous une idée ?

    Merci

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 7
    Par défaut
    En remplacant "" par " ", l'erreur disparait mais ma boucle ne fonctionne plus. Je continue à chercher

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 7
    Par défaut
    Bien, j'ai résolu mon propre problème.
    Dans ma situation, le problème venait de ce que certaines conditions ne pouvaient être testées.
    J'ai donc écris une formule incluant toutes les valeurs possibles des cellules de ma colonne.

    Je donne pour la petite histoire

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Sub fNIRSBloc()
     
    Dim i As Long
    Dim x As Long
    Dim c As Integer
     
     
    'démarrage de la macro de transposition
    Cells(1, 1) = "*"
     
    For c = 2 To 6
     
     
        For i = 9 To 1000
     
            If Not IsEmpty(Cells(i, 7)) Then
     
                x = 12
     
             While IsEmpty(Cells(i, c))
     
                If IsEmpty(Cells(1, x + 1)) Then
                Cells(i, c).value = Cells(1, 1).value
                ElseIf Not IsEmpty(Cells(1, x + 1)) Then
     
                    If Cells(i, 7) >= Cells(1, x) And Cells(i, 7) < Cells(1, x + 1) Then
                    Cells(i, c).value = Cells(c, x).value
                    Else
                    x = x + 1
                    End If
     
                End If
     
            Wend
     
     
            End If
     
        Next i
     
     
    Next c
     
    End Sub
    Bonne journée !

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

Discussions similaires

  1. [XL-2007] Erreur d'execution 1004 - Erreur définie par l'application ou l'objet
    Par askior dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/04/2015, 12h34
  2. [XL-2007] Erreur 1004 définie par l'application : affectation valeur à une cellule
    Par Fiédia dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/06/2011, 21h57
  3. [XL-2003] erreur définie par l'application ou l'objet après protection feuille
    Par PPN83 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/11/2010, 11h06
  4. Réponses: 2
    Dernier message: 28/10/2008, 10h30
  5. Erreur 1004 définie par l'application ou par l'objet
    Par GreatDeveloperOnizuka dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/12/2007, 10h33

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