changer onglet de recherche

romika

XLDnaute Occasionnel
Bonjour, le forum,

je sais que vous allez me renvoyer à la 'Charte du forum' en me disant de ne pas poster 2 fois la même chose...

mais, j'ose quand même car je ne trouve pas de solution et je ne compte que sur le forum pour m'aider.

voila l'exemple joint ou dans le classeur1.xls j'explique ce que je cherche exactement.

merci pour votre aide et patience

bonne soirée à tous! [file name=tutu.zip size=4259]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/tutu.zip[/file]
 

Pièces jointes

  • tutu.zip
    4.2 KB · Affichages: 17

edelweisseric

XLDnaute Occasionnel
Bonsoir Romika

Dans
' Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) ' de ta feuille1 du classeur1 tu écris :

if range('A3').value=1115 then
et tu va recopier les valeurs de l'autre classeur
if range('A3').value=2224 then
...etc

Cordialement
 

romika

XLDnaute Occasionnel
Bonsoir, edelweisseric,

merci pour ta réponse. le problème c'est que les onglets du classeur2 peuvent changer (disparaître, apparaître, être créés ou supprimés d'un mois sur l'autre). X et Y prennent des valleurs différentes et sont saisies tous les mois dans le classeur2.

le but du classeur1 est justement d'essayer de récupérer facilement les valeurs mensuelles de X et Y du classeur2 et si jamais il y a un onglet nouveau qui apparaît dans classeur2 (les onglets dans classeur2 ont toujours le même masque) en rajoutant le nom de l'onglet dans la colonne A du classeur1 et en rajoutant la formule ou macro je puisse récupérer les valeurs.

j'espère que je suis clair dans ce que je raconte...
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Romika, Éric, bonsoir le forum,

Je te propose la macro événementielle ci-dessous, à adapter selon le nom de tes classeurs :

Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Range('A3:A' & Range('A65536').End(xlUp).Row)) Is Nothing Then Exit Sub
For x = 1 To 22
Target.Offset(0, x).Value = Workbooks('Classeur2.xls').Sheets(CStr(Target.Value)).Cells(Target.Row - 1, x + 1).Value
Next x
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 869
Membres
103 402
dernier inscrit
regishar