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 :

Fonction excel: trouvé un numéro de ligne


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 25
    Points : 10
    Points
    10
    Par défaut Fonction excel: trouvé un numéro de ligne
    Salut à tous,

    je recherche une fonction excel qui me renvoie le numéro de ligne par rapport à des données contenues sur cette ligne.

    Pouvez-vous m'aider?

    D'avance merci !!

  2. #2
    Membre éclairé
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Points : 854
    Points
    854
    Par défaut
    Solution VBA

    Utilise la fonction Find. Cette fonction permet de cherche une cellule en fonction de son contenu.

    Ensuite, il ne reste plus qu'à lire la propriété Row de l'objet Range trouvé.

    Solution Excel

    Utilisation de la fonction RechercheV

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Est ce que tu pourais me donner un exemple en vba?

    et pour la fonction recherchev, je l'ai deja utilisé mais ça me retourne pas le numéro de ligne (le numéro d'index)!!!

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    oui mais le find, je fais comment???

    Je suis désolé, je suis vraiment nulle en vb !!
    Merci pour ta compréhension.

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    je t'explique:

    J'ai deux fichiers Excel un nommé:"CALCULS.xls" et l'autre "BDMPE.xls".

    j'ai fait une liste de choix dans CALCULS.xls qui correspond à la 1ere colonne de BDMPE.xls.

    j voudrais que quand je choisis une donnée dans la liste de choix du fichier CALCULS.xls, que s'affiche dans la cellule a coté (en appuyant sur un bouton par example) obtenir le numéro de ligne qui correspond a la donnée dans BDMPE.xls.

    J'espere que c'est un peu plus clair...

    Merci

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Ca ressemble à du VLOOKUP ...
    Tu peux regarder l'aide sur cette fonction dans Excel : tape F1 pour avoir l'aide, et tape vlookup pour avoir les détails.

    A droite de ta colonne de BDMPE.xls tu fait une colonne qui correspond au numéro de ligne. Et a droite de ta colonne sur
    CALCULS.xls tu tape la formule VLOOKUP( ... ) avec les bons parametres (voir l'aide).

    A+

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Je corige mon post ... désolé j'ai la version Anglaise donc VLOOKUP = RechercheV (enfin je pense ...)

    donc pour avoir ton numéro de ligne tu te fait une colonne avec le numéro de ligne (comme expliqué ...) et tu utilise RechercheV

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    mais ca j sais faire !!
    mais j ne dois pas modifier bdmpe c'est un fichier commun a plusieur !!!

  9. #9
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Alors il faut te servir d'une petite sub en VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public sub MafonctionDeRecherche
     
        Dim c As Object
        Set c = Worksheets(TaFeuille).range("A2:A11").Find(tavaleur)
     
        Dim therow As Integer
        therow = c.row
     
     
      cells(lalala,lalali).value=therow
     
    end sub

  10. #10
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    j'ai testé ta macro mais quand je l'éxécute j'ai une erreur au niveau de therow=c.row
    --> Variable object ou variable de bloc WITH non définie

    je comprend pas ce que ça veut dire...

  11. #11
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    J'ai retrouvé !!!
    ça fait ça:

    'Récupération de la valeur de la cellule qui vient de changer dans val1
    CodeRecyclé = ActiveCell.Value
    'Activation de la feuille ou se trouve la valeur à rechercher.
    ActiveWorkbook.Worksheets(1).Activate
    'Recherche de la cellule contenant la valeur val1
    Cells.Find(what:=CodeRecyclé).Activate
    'val2 = ligne de la cellule trouvée -c'est là qu'il faudra gérer le faite qu'il 'puisse n'avoir rien trouvé
    val2 = ActiveCell.Row
    'Repositionnement sur ton document calcul
    Workbooks("Calculs.xls").Activate
    'Activation de la feuille excel appropriée dans ce document
    ActiveWorkbook.Worksheets(5).Activate
    'positionnement sur la cellule ou indiquer le résultat du numéro de ligne
    'c'est à toi d'indiquer le bon "range : sous forme "Colonneligne" (ex : B1)
    Range("B39").Select
    'affectation du résultat
    ActiveCell.Value = val2

    Merci quand même de votre aide !!!

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

Discussions similaires

  1. fonction prédéfini qui retourne numéro de ligne selectionné ?
    Par khadi8 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 11/04/2012, 09h26
  2. Fonction excel: trouver un numéro de ligne
    Par adv75 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/07/2011, 22h37
  3. Continuer automatiquement une fonction excel jusqu a la derniere ligne
    Par bakaouf dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/07/2010, 12h58
  4. Récupérer le numéro de ligne d'une feuille excel dans un listbox
    Par Dream Master dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/06/2007, 09h16
  5. Définir le numéro de ligne d'un spreadsheet sur Excel
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 06/02/2006, 09h35

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