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 Boucle For Each


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Par défaut Erreur Boucle For Each
    Bonjour,
    j'ai créé ce code pour effectuer une copie des valeurs d'une ligne vers une autre feuille avant suppression des valeurs mais il y a une erreur 1004 sur la ligne For Each.
    erreur définie par l'application ou par l'objet
    Je ne vois pas à quoi correspond cette erreur

    Merci pour une piste
    Cordialement

    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
    Dim NbCol, NbLig, ligne, ValIdent, f, sha, ligneEnreg, derlig
     
    Sub testConcatenerValeurs()
    Set f = Sheets("sheet")
    Set sh = Sheets("Fichepersonnel")
    Set sha = Sheets("Archives")
    ValIdent = sh.Range("AC3").Value 'valeur cherchée dans la feuille FichePersonnel cellule AC3
    ligneEnreg = f.[A:A].Find(ValIdent, LookIn:=xlValues).Row 'référence de la ligne à traiter
    NbCol = f.Cells(1, Cells.Columns.Count).End(xlToLeft).Column ' nb de colonne à droite
     
    'l'erreur est sur la ligne suivante "erreur définie par l'application ou par l'objet"
    For Each c In f.Range(Cells(ligneEnreg, 1), Cells(ligneEnreg, NbCol)) ' je défini la plage des données à concaténer
     
    Concat = c.Value 'valeur de Concat
    For i = 1 To NbCol 'boucle jusqu'à la dernière colonne
    Concat = Concat & "_" & c.Offset(ligneEnreg, i) 'concaténation avec la valeur précédente
     
    ligne = c.Row 'récupère la concaténation
    Next
     
    derlig = sha.Range("A" & Rows.Count).End(xlUp).Row + 1 'dernière ligne vide
    Sheets("Archives").Range("A" & derlig).Value = Concat  ' feuille et colonne qui affichera le resultat ( ici colonne A)
     
    Next
     
     
    End Sub

  2. #2
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 254
    Par défaut
    Bonjour,

    As-tu regardé quelles étaient les valeurs de tes variables au moment où tu arrives sur for each ?

    Autrement, concernant ta ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each c In f.Range(Cells(ligneEnreg, 1), Cells(ligneEnreg, NbCol))
    Pour ne pas qu'il tu ais des problèmes de référence, il faut que tu rattaches tes "Cells" à Worksheet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each c In f.Range(f.Cells(ligneEnreg, 1), f.Cells(ligneEnreg, NbCol))
    Sinon, les cells feront références à la feuille active.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Par défaut
    Bonjour Trystan

    Effectivement c'était un problème de référence de feuille.
    Bravo et merci beaucoup

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

Discussions similaires

  1. [XL-2003] Erreur 1004 sur boucle For each
    Par JonSnow dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 12/04/2010, 13h22
  2. [VBA-E]PB sur une boucle for each next
    Par rond24 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/07/2006, 15h47
  3. aide vba boucle for each paramétrée en range
    Par gotlieb dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/07/2006, 08h55
  4. [VBA-E] erreur boucle for each
    Par Mut dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/02/2006, 16h38
  5. Boucle For each
    Par roots_man dans le forum ASP
    Réponses: 10
    Dernier message: 18/02/2005, 09h55

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