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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 67
    Points
    67
    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 averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 254
    Points : 341
    Points
    341
    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 du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 67
    Points
    67
    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