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 :

For each cell in columns --> Pourquoi cela n'aboutit pas? [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2016
    Messages : 3
    Par défaut For each cell in columns --> Pourquoi cela n'aboutit pas?
    Bonjour,

    Je suis en train de travailler sur une macro sous Excel 2010 et je rencontre un point que je n'arrive pas à saisir.

    En effet, je souhaite réaliser une recherche sur toute une colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for each Cell in columns(2) 
     if Cell.value = "Nom" then
       XXXX
     end if
    next Cell
    Or, je ne comprends pourquoi, il m'est impossible d'obtenir un résultat. J'ai comblé ce manque en réalisant ma recherche sur plage bornée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plage = range(cells(1,2), cells(1000,2))
    Néanmoins, je ne saisis pas le problème avec columns. En effet, si je tente :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for each Cell in columns(2) 
    Cell.value = 1
    next Cell
    Je n'ai pas d'erreurs

    Merci de votre aide

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    je me suis arrêté sur la lecture, la compréhension du problème et son éventuelle résolution, dès que j'ai vu que ta boucle For traitait d'une variable Cell ... et que tu utilisais "cells" à l'intérieur de cette boucle

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2016
    Messages : 3
    Par défaut
    Mauvais reprise du code. J'ai corrigé le message (mais le problème reste entier)

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 678
    Par défaut
    Salut,

    il te manque un simple Cells en bout de column

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for each c in columns(2).Cells
     if c.value = "Nom" then
       XXXX
     end if
    next c
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2016
    Messages : 3
    Par défaut
    Tout simplement.

    Merci !

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

Discussions similaires

  1. [Débutant] Boucle For Each Cell qui ne fonctionne pas
    Par FTMFB dans le forum Windows Forms
    Réponses: 3
    Dernier message: 05/11/2015, 17h23
  2. Boucle For each cell in Range(.)
    Par FTMFB dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 03/11/2015, 15h02
  3. [XL-2010] Boucle For each cell in Range(.)
    Par hunk72 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/10/2015, 17h59
  4. [XL-2013] Décrémenter une boucle For Each Cell in Range ?
    Par ldubs dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/12/2014, 17h41
  5. test avant d'entrer dans une boucle For each cell in selection
    Par totoro02 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/01/2009, 09h27

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