rechercher par onglet ou range

  • Initiateur de la discussion simons
  • Date de début
S

simons

Guest
Bonjour le forum,

Je veux par un selection change afficher une feuille dont le nom est soit le nom de l'onglet soit une range.
! Le selection change se trouve sur un classeur1 et la feuille à afficher se trouve sur un classeur2 !

En fait par exemple : 10 est entré dans ma range A1 de la feuille1 de mon classeur1 et je veux que ma macro affiche la feuille 10 de mon classeur2.

Merci d'avance pour votre aide.
 

Hervé

XLDnaute Barbatruc
Bonjour

Une proposition, à placer dans le module de la feuille adéquat du classeur 1:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo probleme

If Target.Address(0, 0) = 'A1' Then
    Workbooks('Classeur2').Activate
    ActiveWorkbook.Sheets(Target.Value).Select
End If

Exit Sub
probleme:
MsgBox 'Pas de feuille trouvé sous le nom : ' & Target.Value, vbCritical, 'Attention...'
Workbooks('Classeur1').Activate

End Sub

Bien sur il faut que tes 2 classeurs soient ouverts, cette macro te renvoi à la feuille désignée par la valeur de la cellule A1.

J'ai rajouté un gestionnaire d'erreur au cas ou la feuille n'existerait pas.

Salut
 
S

Simons

Guest
Merci Hervé,

Je n'ai pas encore testé le code mais à priori c'est ce que je recherchais.. Egalement pour le gestionnaire d'erreur !!

Je vais tester ca si j'ai un problème je te reviens !
 

Simons

XLDnaute Occasionnel
Hervé, le forum,

J'ai encore un problème j'ai placé le code que tu m'as donné mais je n'ai aucun résultat...
Je pense que c'est le :
If Target.Address(0, 0) = 'A1' Then
qui me pose problème.
Pour être plus précis le 'address(0, 0)' Peux tu me 'traduire' ?!?

Merci d'avance. :S
 

Hervé

XLDnaute Barbatruc
re simons

salut dan

Après avoir répondu à Dan.

je pourrai t'expliquer que le target.address(0,0) signifie l'adresse de la cellule active au format A1 et non au format $A$1.

Mais ceci après avoir répondu à Dan (que je salut) :)

Salut
 

Simons

XLDnaute Occasionnel
Salut Dan, Hervé, le forum,

Ben en fait Dan j'avais fait des essais avec les codes que toi et Pascal m'aviez donné mais sans succès.
:ermm:

Et j'était passé à mon idée (enregistrer chaque nouvelle feuille dans un nouveau classeur).

Par la suite j'ai perdu le fil.. C'est pourquoi ce nouveau post...
Mais maintenant je ne me perd plus. Je m'inscrit au fil :) :)
 

Dan

XLDnaute Barbatruc
Bonsoir,

Simons, il te suffit de taper ton nom dans la zone Rechercher en haut à droite pour obtenir les fils auquel tu as répondu.

Concernant ton pb, il te suffit de reprendre ton fichier et d'y placer les macros que je t'avais données.

Bon ici je ne vois pas le rapport avec le fil précédent...

Si tu dois me reparler de ce sujet, merci de le faire sur l'autre fil car ce serait tout de même sympa de le cloturer non ?
Dans le cas contraire je le considérerai comme cloturé.

;)

Message édité par: Dan, à: 01/06/2005 22:03
 

Simons

XLDnaute Occasionnel
Décidement on en apprend tous les jours sur le forum d'XLD.....
Merci pour l'astuce, hyper pratique ;)

Bon on va laisser tomber ce post et revenir à l'ancien..
Pour éviter de lancer trop de sujets.. :eek:

A bientôt
 

Discussions similaires

Statistiques des forums

Discussions
312 613
Messages
2 090 231
Membres
104 454
dernier inscrit
alaindeloin.1976