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

Excel Discussion :

Rechercher une valeur dans plusieurs feuilles


Sujet :

Excel

  1. #21
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 467
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par modus57 Voir le message
    Bonsoir Abed_H

    Ok j'ai compris, mais j'ai oublié de préciser que l'adresse de la zone nommée "liste_noms" peut variée par ex. (adresse Feuil1!$A$5:$A$15) peut devenir (adresse Feuil1!$A$10:$A$25).

    @ +
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each cell In Range("liste_noms")
    '-------
    '-------
    '-------
    Next

  2. #22
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    785
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 785
    Points : 182
    Points
    182
    Par défaut
    Re bonsoir Abed_H

    Cela aussi semble fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Zone = Sheets("Feuil1").Range("liste_noms").Row
    For i = Zone To Cells(Rows.Count, 1).End(xlUp).Row
    Ton avis svp

    Je teste ta proposition :
    For Each cell In Range("liste_noms")
    '-------
    '-------
    '-------
    Next

  3. #23
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 467
    Points : 493
    Points
    493
    Par défaut
    Re,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Debut = Application.Index(Range("liste_noms"), 1, 1).Row
     Fin = Range("liste_noms").Rows.Count
         For i = Fin To Debut Step -1
    Bonne soirée

    Abed_H

  4. #24
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    785
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 785
    Points : 182
    Points
    182
    Par défaut
    Re

    Debut = Application.Index(Range("liste_noms"), 1, 1).Row
    Fin = Range("liste_noms").Rows.Count
    For i = Fin To Debut Step -1
    Chez moi çà fonctionne pas.


    Par contre en utilisant l'une ou l'autre de ces lignes c'est tip top.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Zone = Sheets(1).Range("liste_noms").Row
    For i = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row To Zone Step -1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Debut = Application.Index(Range("liste_noms"), 1, 1).Row
    For i = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row To Debut Step -1
    A demain

  5. #25
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Re,

    oui cela fonctionne mais en supposant que tu as 300 lignes et que ta Plage "liste_noms" est de A5 à A25, ce que tu as écris correspond de A300 à A5

    Ce que Abed t'a proposé est presque correcte, il y a juste un petit problème avec la variable Fin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Debut = Application.Index(Range("liste_noms"), 1, 1).Row
    Fin = Debut + Range("liste_noms").Rows.Count
    For i = Fin To Debut Step -1
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  6. #26
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    785
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 785
    Points : 182
    Points
    182
    Par défaut
    Bonjour fring, le forum

    Désolé de ne pas avoir répondu plutôt car je me suis absenté quelques jours.

    En effet en supposant que la colonne contienne 300 lignes et que ta Plage "liste_noms" est de A5 à A25, cela concerne effectivement les lignes A300 à A5.
    Ta solution est intéressante pour les lignes correspondant à la plage "liste_noms".

    Ma procédure concerne les lignes depuis la première ligne de la plage "liste_noms" jusqu'à la dernière ligne de la colonne, à condition qu’il n’y ait aucunes lignes vides.

    Dans le cas de lignes vides, pourrait-on utiliser la fonction de recherche Range, Find et xlPrevious ou partir du bas : Cells(Rows.Count, 2).End(xlUp).Select qui sélectionne la dernière cellule occupée de la colonne.

    Merci d’avance pour ta réponse @ +.

  7. #27
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Il faudrait commencer par être cohérent dans tes différentes questions !!!
    Mais comment procéder pour limiter le comptage à une zone nommée "liste_noms" (adresse Feuil1!$A$5:$A$15) ?
    Ma procédure concerne les lignes depuis la première ligne de la plage "liste_noms" jusqu'à la dernière ligne de la colonne
    à condition qu’il n’y ait aucunes lignes vides
    et si il y en a, il faut faire quoi ? les ignorer dans le comptage de ligne ? s'arrêter à la 1ère ligne vide ?

    Il me semble que ça commence à partir un peu dans tout les sens par rapport à ta question initiale...!
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  8. #28
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    785
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 785
    Points : 182
    Points
    182
    Par défaut
    Re

    Pour être plus cohérent, mon application a évoluée depuis ma première question.

    Aujourd'hui, je cherche à compter les lignes entre la première ligne de la plage "liste_noms" jusqu'à la dernière ligne contenant une cellule réellement non vide de la colonne, y compris les lignes vides.

    J'espère que cela plus est explicite.

  9. #29
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Alors essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    debut = Application.Index(Range("liste_noms"), 1, 1).Row
    fin = Cells(Rows.Count, Range("liste_noms").Column).End(xlUp).Row
     
    For i = fin to debut Step -1
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

Discussions similaires

  1. [XL-2007] Somme d'une valeur dans plusieures feuilles
    Par zaza45 dans le forum Excel
    Réponses: 2
    Dernier message: 25/03/2013, 12h20
  2. [XL-2010] Somme sur une recherche de valeur dans plusieurs colonnes
    Par Marmouz dans le forum Excel
    Réponses: 2
    Dernier message: 21/01/2012, 15h06
  3. [XL-2007] Rechercher une valeur dans une feuille, ligne, colonne ou tableau
    Par XceSs dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/08/2011, 19h26
  4. Réponses: 7
    Dernier message: 21/11/2009, 22h00
  5. Recherche d'une valeur dans plusieurs colonnes
    Par Arnaud F. dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/03/2009, 11h44

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