Cherche Macro VB pour ouvrir une feuille existante

Janot95

XLDnaute Nouveau
Bonjour,

Je "développe" sous MSO2003, mais doit fonctionner sous MSO2010...
_Soit le fichier suivant contenant 11 feuilles :
-Nom de la 1ière feuille : "Menu"
-Nom des 10 feuilles suivantes : "de s01 à s10"

Dans de cette 1ière feuille "Menu", j'ai une liste déroulante de 01 à 10 dans la cellule "E12".
Je voudrais pouvoir aller dans l'une des 10 autres feuilles lorsque j'en affiche le numéro de 01 à 10.
Les feuilles se nomment "s01 à s10" et les onglets seront désactivés.

Soit un truc du genre boucle... if "E12"=01 : open sheet "s01" then if "e12"=02 : open sheet "s02...etc...

Mais suis pas très bon en syntaxe VB...

Je reviendrai dans le menu par un lien hypertexte ou éventuellement 1 p'tite macro VB...

j'aimerai aussi retrouver le bout de code qui permet de revenir à la 1ière page (soit "Menu" lorsque l'on sauvegarde le fichier quelque soit la feuille dans laquelle on se trouve... (j'avais ça mais C+ où G mis...)

Si une âme charitable pouvait me concocter 1 p'tit bout de code... D'avance MERCI...

PS.: Fichier ci-joint simplifié à 10 feuilles pour le principe, mais en réalité en aura 52 + celle du menu

@+Janot95
 

Pièces jointes

  • _Test_List Deroul. via Open Feuille Existante-1.xls
    134 KB · Affichages: 50

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Cherche Macro VB pour ouvrir une feuille existante

Bonjour Janot,

avec ce code:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E12")) Is Nothing Then
Sheets("s" & Format(Target, "00")).Select
End If
End Sub

à+
Philippe
 

Paf

XLDnaute Barbatruc
Re : Cherche Macro VB pour ouvrir une feuille existante

Bonjour,

Pour l'affichage de la feuille sélectionnée, dans le module de code de la feuille MENU:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$E$12" Then Worksheets("s" & Format(Target.Value, "00")).Activate
End Sub

Pour revenir à la feuille MENU lors de la sauvegarde du classeur, Dans le module de code Thisworkbook:
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
 Worksheets("MENU").Activate
End Sub

A+
 

Janot95

XLDnaute Nouveau
Re : Cherche Macro VB pour ouvrir une feuille existante

:eek:
Merci à Laurent & à "Paf" pour vos réponses rapides & efficaces qui répondent parfaitement à mes besoins !
Il y avait un petit moment que je n'avais pas remis les doigts dans VB, et ce n'est pas comme le vélo, on y perd vite les pédales...

Si je puis me permettre, j'aurais un autre petit besoin potentiel dans ce fichier...
Dans les 52 feuilles (représentants les semaines), j'affiche & imprime 1 logo en haut à gauche...
Hors, le fait que ce "logo" (image JPG de 80k) se trouve dans chacune des feuilles alourdi le dit fichier...

N'y aurait-il pas une fonction (Excel ou VB) que l'on pourrait placer dans ces 52 feuilles qui afficherait ce "logo", ce dernier étant placé uniquement dans la feuille "MENU" ?
Ainsi, le "poids" du fichier serait moindre...

Note: Dans mes feuilles, j'ai des touches de commandes, dont une pour l'impression avec le code suivant : "ActiveSheet.PrintOut"
Bien-entendu, il faudrait que le "logo" s'imprime pour n'importe quelles feuilles sans en modifier son format...
Si cela était trop compliqué, ce n'est pas grave, ça fonctionne bien comme ça...
Merci.
@+Janot95
 

Janot95

XLDnaute Nouveau
Re : Cherche Macro VB pour ouvrir une feuille existante

Bonjour Janot,

avec ce code:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E12")) Is Nothing Then
Sheets("s" & Format(Target, "00")).Select
End If
End Sub

à+
Philippe

Bonsoir Philippe...

Ta ligne VB fonctionne très bien dans la cellule à valeurs défilante...
Mais, réflexion faite, j'aimerais placer un bouton de validation juste en dessous, car le numéro sélectionné me permet de faire apparaitre la semaine (du lundi au dimanche) sur le coté et ainsi de faire un choix plus certain de la bonne semaine...

Comment puis-je faire cette commande ?... OU faire un double "clic" sur la dite cellule (E12)...?

Private Sub CommandButton1_Click()
???
End Sub


Merci,
@+Janot95
 

Janot95

XLDnaute Nouveau
Re : Cherche Macro VB pour ouvrir une feuille existante

salut

une proposition...

Bonsoir "Si"...

Merci pour le p'tit bout de code activant par double clic la cellule gauche...
Ca semble fonctionner...
Mais je vais tenter de valider par un bouton en dessous... ce sera + causant pour l'utilisateur...


Pour le coup du logo... pas bête l'idée...
Sur le coup j'étais septique... J'ai donc supprimé les logo dans 3-4 feuilles, puis suis retourné au menu...
Sélection d'1 feuille... le logo apparait... Ok!

Mais, je constate 3 Pb à l'affichage d'1 seul feuille de 1 à 9...
1) le logo est copié dans toutes les feuilles d'1 coup... Oups !
2) ils y restent !
3) la sélection de la feuille "10" retourne l'erreur "Erreur d'exécution '9' : l'indice n'appartient pas à la sélection":confused:

Hors, mon but est d'alléger mon classeur en n'ayant pas 52 logo...
Car au final, mon classeur traite les 52 semaines d'1 année...

Alors p'te reste-t-il un p'tit réglage...???

Je reste à ton écoute, MERCI...
@+Janot95
 

Janot95

XLDnaute Nouveau
Re : Cherche Macro VB pour ouvrir une feuille existante

.... suite...

J'ai trouvé et corrigé l'erreur Pb#3...
Cela provenait du fait d'avoir pris en compte "Application.Goto Sheets("s0" & R(1, 2)).[B1]"...
En effet, il faut seulement prendre sheets("s" & Format(Target, "00")).[B1]...

Demeurent les autres Pb...

A bientôt de te lire... MCI...
@+Janot95
 

Si...

XLDnaute Barbatruc
Re : Cherche Macro VB pour ouvrir une feuille existante

re

Mais, je constate 3 Pb à l'affichage d'1 seul feuille de 1 à 9...
1) le logo est copié dans toutes les feuilles d'1 coup... Oups ! NON
2) ils y restent ! NON
3) la sélection de la feuille "10" retourne l'erreur "Erreur d'exécution '9' : l'indice n'appartient pas à la sélection":confused: voir ci-dessous

Or, mon but est d'alléger mon classeur en n'ayant pas 52 logo...
Car au final, mon classeur traite les 52 semaines d'1 année...

C’était une proposition en fonction du fichier donné.
Remarque générale
Pour éviter d’avoir à reprendre constamment le code il est recommandé de joindre un exemple reflétant exactement le contexte !

Tu as une macro qui ne copie l’image que lorsque la feuille est activée et une autre qui supprime l’image lorsque la feuille est désactivée.

Sur toutes les feuilles dont le nom comcencent par s (réservé aux semaines) il doit y avoir 9 en D1 pour assurer le retour. On peut y mettre un lien hypertexte pour éviter la macro.

Si tous les onglets correspondants aux semaines ont la même structure il est possible de n'avoir que 2 onglets, l'un pour la semaine sélectionnée dans le second qui contient la synthèse de toutes les données.
Mais c'est une autre hitoire ...
 

Pièces jointes

  • Selection Onglet plus Image ou pas Si.xls
    165.5 KB · Affichages: 35

Janot95

XLDnaute Nouveau
Re : Cherche Macro VB pour ouvrir une feuille existante

Hello... Merci "Si"...

Les lignes de codes de ton dernier fichier me vont bien, T explications sont clair, on y voit le "Pro"...
Je ne suis pas complètement bébète... j'ai surtout un Pb avec les syntaxes en VB...
===
Je n'ai pas réfléchi lorsque je t'ai écrit que le logo apparaissait dans toutes les feuilles, car j'accédais au feuilles par les onglets (pour voir)... Mais bien-sûr, vu la ligne de code... CT normal...
! Je me pose juste une question concernant l'utilité de la dernière feuille...
===
Je vais appliquer cela dans mon classeur final pour voir ce que cela donne, mais il n'y a pas de raison que ça ne fonctionne pas, puisque plusieurs possibilités s'offrent à moi dès à présent.
Certes, j'aurais pu attacher mon fichier complet, mais le poids était 1 peu trop important & il aurait fallu que je le dépersonnalise, ce qui m'aurait pris pas mal de temps.
===
Dernier point, dans ton dernier paragraphe je retiens ta réflexion sur une structure à 2 feuilles...
Il est vrai que ce serait le "Top"... mais... c'est une autre affaire...
Si je ne l'ai pas déjà écrit, il s'agit d'un fichier planning, dans lequel existe bien-entendu des calculs de temps, mais aussi des zones de cellules en couleur... C'est p'te là que ça se complique... (Enfin for me...) Lol !

Conclusion, je vais faire un fichier dépersonnalisé complet & appliquer les fonctions & code VB ad-hoc et le remettrai en DL ici prochainement... Tu pourras me dire ce que tu penses du niveau de difficultés pour le passer sur 2 feuilles...

Merci encore & @+Janot95
Ma devise: "Dire & Faire sont 2 verbes qui ne vont pas de paire" (JFF)
 

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 811
dernier inscrit
caroline29260