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
A voir également:

2 réponses

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
Bidouilleu_R Messages postés 1209 Statut Membre 295
 
' 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