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 :

trouver une plage sur une autre feuille


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut trouver une plage sur une autre feuille
    Voila, je dois me servir de donnée situées dans, par exemple, la feuille2, je suis sur la feuille1 et le script est lancé à partir de la feuille1.

    Les donnée sur le feuilles deux ne sont pas à un endroit fixe. Afin de délimiter ces données j'ai placé sur la ligne au dessus dans la cellule A le mot limitU et sur la ligne du dessous encore dans la cellule A limitD.

    Alors, comment ferais-je pour a partir du script de la feuille 1 pour trouver ces cellules dans la page deux?

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    la dernière ligne remplie de la colonne A de Feuil2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LastLig=sheets("Feuil2").cells(sheets("Feuil2").rows.count,1).end(xlup).row

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut
    Citation Envoyé par mercatog Voir le message
    la dernière ligne remplie de la colonne A de Feuil2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LastLig=sheets("Feuil2").cells(sheets("Feuil2").rows.count,1).end(xlup).row
    Ce n'est malheureusement pas ce que je cherche, je veux trouver un endroit particulier, pas la dernière ligne ou la première. Je ne sais pas non plus combien de lignes y seront contenu, Donc ma plage pourrais être par exemple:

    E1:H8 la première fois
    H1:M8 la seconde
    C1:E8 la troisième...

    Je ne sais pas ou elle se situera quand je ferai mon script. Le script doit donc d'abord trouver cette plage et ensuite se servir du data qui s'y trouve.

    Il y a des éléments au dessus et en dessous.

    Pour délimiter la plage j'ai mis limitU dans la première cellule (colonne A) de la ligne au dessus et limitD dans celle du dessous, le data sera toujours entre ces deux lignes:
    donc:
    D1=limitU
    E1 = première ligne contenant des données
    -
    -
    H1 = dernière ligne H8 = dernière colonne
    I1 = limitD

    Ça fait plus de sens?

    merci

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Regarde ici, tu trouveras certainement le code qui te permettra de connaître la plage que tu cherches

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Regarde ici, tu trouveras certainement le code qui te permettra de connaître la plage que tu cherches
    Assez excellent mais encore une fois si je comprend bien ça ne me permet pas de trouver quelquechose sinon que les limites en rapport avec mon contenu, ce qui en soi est très bien mais pas ce que je cherche. Donc si j'ai une plage de donnée sur la feuille 3 et qu'en dessous de celle-ci se trouve une autre plage de donnée aucune de ses routines me m'aidera à trouver la première, qui plus est je dois m'assurer que ma plage est à un endroit fixe ou démarre à un endroit connu.

    J'ai pensé faire une boucle qui trouve le mot limitU et assigne une variable à cette cellule, faire une seconde boucle qui trouve le mot limitD et assigne une variable à cette cellule. J'aurais donc ma plage, mais je suis assez débutant avec vba et je ne pige pas bien les boucles je crois. Dois-je sélectionner une cellule pour vérifier son contenu dans une boucle?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    do range("A1") select
    loop until activecell.formular1c1="limitU"
    Tourne très bien si je le fais à partir de la feuille2 sur la feuille2, mais pas si je le fais à partir de la feuille1 sur la feuille2, je crois car il contient "select", y-t'il une autre façon de faire sans activement sélectionner la cellule?

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu n'as rien d'autre que "limitU" pour délimiter les plages ?
    Si tu n'as rien, alors utilise find sur ce mot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub Test()
    Dim c As Range
        With Worksheets("TuMetsLeNOmDeLaFeuille").Columns("A:A")
            Set c = .Find("limitU")
            If Not c Is Nothing Then
                  MsgBox "La ligne où se trouve limitU est la ligne N° " & c.Row
            End If
        End With
    End Sub
    Valable aussi bien pour une feuille que pour l'autre
    Après, tu dis si tu as besoin de trouver plein de mots on peut aussi le faire

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

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. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  3. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  4. Appel d'une fonction dans une iframe sur un autre domaine
    Par morikann dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/06/2007, 18h46
  5. Réponses: 3
    Dernier message: 16/01/2006, 16h02

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