Rechercher sur 2 pages différentes eds données

juliarca

XLDnaute Nouveau
Bonjour,

Je viens d'arriver sur ce forum et je dois avouer que je compte beaucoup sur vous.

Je suis chargé, dans le cadre d'un stage professionnel, de réaliser un fichier dans le secteur financier avec 3 pages.

La 1ère page propose à l'utilisateur de sélectionner le pays émetteur de l'action. Pour cela on obtient le renseignement grâce au code ISIN. Ce code ISIN est composé de 12 caractères (2 lettres et 10 chiffres). Ce sont ces deux premières lettre qui nous permettent de renseigner sur le pays.

La 2nde page contient un certain nombre d'actions en ligne avec quelques informations en colonnes.

La 3ème page me sert de "Source" pour la combo-box de la première page.

Le but est que lorsque l'utilisateur choisit un pays particulier (grâce à la combo-box), on retrouve dans la seconde feuille toutes les actions dont le code ISIN commence par ces deux lettres.

Malheureusement, je ne vois pas comment faire pour sélectionner ces deux premières lettres du code.

J'espère avoir été assez clair et si non, ne manquez pas de me le signaler.

Merci à vous.
 

juliarca

XLDnaute Nouveau
Re : Rechercher sur 2 pages différentes eds données

Bonjour,

Je suis sur mon lieu de travail et je suis donc restreint concernant l'envoi de fichier.

Sub Choix()
Dim MaFeuille As Worksheet, MaFeuille2 As Worksheet, MaFeuille3 As Worksheet
Set MaFeuille = ThisWorkbook.Worksheets("Intro")
Set MaFeuille2 = ThisWorkbook.Worksheets("Data")
Set MaFeuille3 = ThisWorkbook.Worksheets("Database")

MaFeuille2.Select

For i = 1 To 1000
If Cells(i, 6).Value = MaFeuille3.Range("B3").Value Then
Rows("i:i").Keep
Else
Rows(i, i).Select
Selection.Delete Shift:=xlUp

End If
Next i
End Sub

Voilà le début de macro réalisé.

Je dois avouer que pour le moment je tatonne, donc vous risquez de voir quelques incohérences.

Bref, l'objectif de cette macro est que lorsqu'on sélectionne sur la première page le pays émetteur, par exemple "France", le fichier aille recherche l'identifiant du code ISIN correspondant (Dans notre cas "FR") dans la feuille 3.

Ensuite il sélectionne dans la page 2, toutes les actions dont le code ISIN commence par FR et fait disparaitre les autres.

En espérant avoir été plus clair.

Cordialement.
 

juliarca

XLDnaute Nouveau
Re : Rechercher sur 2 pages différentes eds données

Sub Choix()
Dim MaFeuille As Worksheet, MaFeuille2 As Worksheet, MaFeuille3 As Worksheet
Set MaFeuille = ThisWorkbook.Worksheets("Intro")
Set MaFeuille2 = ThisWorkbook.Worksheets("Data")
Set MaFeuille3 = ThisWorkbook.Worksheets("Database")
MaFeuille2.Select
With MaFeuille2
For i = 2 To 1000
If Left(D2, 2).Value = MaFeuille.Shapes("cmbPays").Value Then
.Rows("i:i").Select
Selection.EntireRow.Hidden = False
Else
.Rows("i:i").Select
Selection.EntireRow.Hidden = True
End If
Next i
End With
End Sub


Je vous renvoi une version légèrement modifié, mais qui ne me permet toujours pas d'avancer.
J'ai du modifier les "i" dans la formule pour tester, mais malgré cela, ça ne fonctionne pas.

"cmbPays" correspond à la comboBox de la 1ère feuille.

S'il vous plait, je compte sur vous.
 

Bebere

XLDnaute Barbatruc
Re : Rechercher sur 2 pages différentes eds données

Julia du code avec quelques commentaires

Sub Choix()
Dim MaFeuille As Worksheet, MaFeuille2 As Worksheet, MaFeuille3 As Worksheet
Set MaFeuille = ThisWorkbook.Worksheets("Intro")
Set MaFeuille2 = ThisWorkbook.Worksheets("Data")
Set MaFeuille3 = ThisWorkbook.Worksheets("Database")

with MaFeuille3
derl=.range("A65536").end(xlup).row
For i = 1 To derl
'tu adaptes la colonne(pour pays)
If .Cells(i, "B").Value = MaFeuille.Shapes("cmbPays").Value Then
identifiant=left(.Cells(i, "F").Value,2) 'tu adaptes la colonne(pour identifiant)
exit for
endif
next
end with
'içi tu en dis un peu plus et on peut appliquer un filtre
With MaFeuille2
derl=.range("D65536").end(xlup).row
For i = 2 To derl
If Left(.range("D" & l), 2).Value =identifiant Then
.Rows(i).EntireRow.Hidden = true
Else
.Rows(i).EntireRow.Hidden = false
End If
Next i
End With

End Sub
à bientôt
 

juliarca

XLDnaute Nouveau
Re : Rechercher sur 2 pages différentes eds données

Merci pour ton aide, je comprends le fonctionnement,

Toutefois, il m'affiche encore une erreur à la ligne:

"If .Cells(i,"A").Value=MaFeuille.Shapes("cmbPays").Value then"

le message d'erreur est:
"Run-time error '438':

Object doesn't support this property or method"

Je pense que c'est la combo-box qui pose problème.

Je vais essayer sans combo-box pour vérifier cette hypothèse.
 

juliarca

XLDnaute Nouveau
Re : Rechercher sur 2 pages différentes eds données

Je viens d'essayer avec une cellule à la place de la combo-box et ça fonctionne, donc le 1er souci vient bien de là.

Je dis "1er" car il me trouve une seconde erreur à la ligne:

"If Left(.Range("D" & i), 2).Value=identifiant then"

Quelqu'un a une idée?
 

Bebere

XLDnaute Barbatruc
Re : Rechercher sur 2 pages différentes eds données

Julia essaye MaFeuille.cmbPays.Value
pour la 2ème erreur ,quelle erreur
i,derl,identifiant ont ils une valeur
si il y a des cellules vides dans D
If .Range("D" & i)<>"" and Left(.Range("D" & i), 2).Value=identifiant then
 

Discussions similaires

Réponses
6
Affichages
180

Statistiques des forums

Discussions
312 611
Messages
2 090 226
Membres
104 452
dernier inscrit
hamzamounir