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 :

Realiser une recherche sur une variable "range"


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
    Juin 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 71
    Par défaut Realiser une recherche sur une variable "range"
    Bonjour j'aimerais réaliser une condition en vba:


    Voila le principe:
    Je possède une variable de type range (appelé TATA) qui n'est pas fixe (pas fixe, cad que le nombre d'information dans la variable range peut être plus ou moins grand, il n'est pas connu)

    Et je voudrais creer cette condition:
    - exécuter le "programme A" lorsque l'une des informations information de la variable range "TOTO" est identique à la cellule A3
    - si l'information de la cellule A3 n'est pas compris dans la variable TOTO, je passe à la cellule du dessous A4 et ainsi de suite jusqu a que je trouve la bonne cellule


    Avez vous idee pour faire la recherche sur les variables de type range?.

    Merci

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Je possède une variable de type range (appelé TATA)
    cette variable représente donc une plage de cellule, dans ce cas tu peux boucler sur ta plage (pas testé) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for each Macellule in tata
    for i = 1 to cells(65536,1).end(xlup).row
    if Macellule.value = cells(i,1) then 
    programme1
    end if
    next i
    next macellule

    Edit : bonsoir, pas sur d'avoir compris, mais parfois une réponse lance les explications...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 71
    Par défaut
    ici je dois rajouter une variable "macellule"?
    Je renseigne ou la cellule A3 car je ne souhaite pas realiser la recherche dés la première ligne, mais la 3eme

    Pour être clair dans une feuille excel je réalise plusieurs filtre et ensuite il me reste encore 3-4 lignes
    j'ai besoin que d'une ligne et de la bonne.
    Pour savoir quelle ligne est la bonne je dois encore realiser une recherche sur les cellules de la colonnes A à partir de la ligne 3
    Pour realiser la recherche il faut que que regarde chaque cellule A3 puis A4 pour savoir si la valeur de la cellule A4 est contenu dans le range TOTO
    et si oui je continu mon programme (pour faire un copier)
    et si non je continu sur la cellule d en dessous


    Voila Merci

  4. #4
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonsoir,

    comme le dit Laetitia détail nous un peu ce que tu veux faire.

    Je renseigne ou la cellule A3 car je ne souhaite pas realiser la recherche dés la première ligne, mais la 3eme
    Tu remplaces ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for i = 3 to cells(65536,1).end(xlup).row
    if Macellule.value = cells(i,1) then
    Edit : si tu as un peu de code n'hésite pas a donner des exemples

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 71
    Par défaut
    voila j'ai un peu detaillé, desolé si je m'exprime mal :/

  6. #6
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Dans ce cas le mieux serait peut être de faire une boucle sur ton range et de faire un find pour trouver la cellule correpondante.

    PS: Je doit y aller a+.

    Edit:
    voila j'ai un peu detaillé, desolé si je m'exprime mal
    Aucun soucis, le tout pour avancer est que l'on arrive a bien comprendre.

  7. #7
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour Esmax666 le forum pas claire tous ca. donne plus de details si tu veus quelqu'un t aide ou quelqu' une beaucoup de possibilitées une boucle , find evenementielle , tablo, ect...

    ps oups bonjour alex plus vif que moi pour comprendre a+ leti

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  2. [RegEx] souci sur une recherche dans une chaine
    Par fey dans le forum Langage
    Réponses: 8
    Dernier message: 21/10/2009, 15h58
  3. effectuer une recherche sur une requête en windev
    Par tytyone554 dans le forum Développement
    Réponses: 0
    Dernier message: 09/10/2009, 16h48
  4. une requete effectuant une recherche sur tous les champs
    Par raynor911 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/02/2006, 15h06

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