Excel Macro- Numéro de ligne

Guig -  
Bidouilleu_R Messages postés 1209 Statut Membre -
Bonjour tout le monde,

Voilà mon petit problème.

Je travail sur un fichier1.xls que je peux modifier, et sur un fichier2.xls qui doit rester le même.
Sur le fichier1, dans la cellule D4, je dois choisir un pays (via une liste).
Dans le fichier2, j'ai un tableau avec tous les pays de la liste dans la colonne A1, mais écrit de cette facon :
Allemagne, Allemagne, Allemagne, France, France, France, ....

Je voudrais donc que dans ma cellule A1 du fichier1, s'affiche le numéro de la ligne de la première fois qu'on tombe sur le pays choisit dans la cellule D4.

Merci beaucoup

j'ai déjà essayé avec le code suivant :

    
    
    Windows("Fichier1.xls").Activate
    Country = Range("D3")

    Windows("Fichier2.xls").Activate
    Sheets("input").Activate
    Cells.Find(what:=Country).Activate
    RowCountry = ActiveCell.Row

    Windows("Fichier1.xls").Activate
    Range("A1").Select
    ActiveCell.Value = RowCountry


Mais ca me met 0 dans A1...

Encore Merci

2 réponses

  1. Guig
     
    Je pense avoir trouvé, la fonction match() revoie la ligne d'une valeur contenue dans une colonne.

    donc j'ai ceci dans ma macro :

    RowCountry = Application.WorksheetFunction.Match(Country,Range("A1:A1000"),0)


    Mais je sais pas encore si il prend toujours la première valeur trouvé...
    0
  2. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    ' pour éviter les erreurs...

    Windows("Fichier1.xls").Activate
    Sheets("Nom_de_laFeuille").select ' Ici tu adaptes
    Country = Range("D3")

    Windows("Fichier2.xls").Activate
    Sheets("input").Activate
    range("A1").select ' j'ai ajouté ça pour faire la recherche à partir du début
    Cells.Find(what:=Country).Activate
    RowCountry = ActiveCell.Row
    ' ici pour controler
    s = MsgBox("Ligne N° : " & owCountry, vbOKOnly, "controle")
    Windows("Fichier1.xls").Activate
    Range("A1").Select
    ActiveCell.Value = RowCountry


    parceque moi je n'ai pas eu d'erreur et j'ai eu le bon numero de ligne
    0