selectionchange /range = nom d'une sheet

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

simons

Guest
Bonjour le forum,

Je cherche un code pour qui en cas de modif d'une range me fais apparaitre la sheet qui est égale à la valeur de ma range.
Pour l'instant j'utilise :
Worksheet_SelectionChange(ByVal Target As Range)
pour la valeur de la range je pensais passer par :
Application.ActiveSheet.Name mais ca n'a pas l'air de marcher...
:S
Merci d'avance pour l'aide.
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

par exemple le nom de tafeuille se toruve dans la cellule A1 et doit être selectionnée quand la cellule A1 est modifiée

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Mafeuille as string

if not intersect(target,Range('A1')) is nothing then
Mafeuille=range('A1')
on error goto erreur
sheets(MaFeuille).select
end if
exit sub
erreur:
msgbox 'Cette feuille n'esite pas'

End Sub

Bon courage
 
S

Simons

Guest
vbno then exit sub / range = nom d'une sheet

Me revoila avec mon bordereau (que j'ai mis en fichier joint pour être plus explicite :huh: )
Quelques problèmes persistent et j'ai également une idée à approfondir.
Commençons par le commencement. C'est à dire la où ça bug...


Sur ma feuil2 mon bouton de commande génére un msgbox qui si on clic sur vbno valide ajoute quand même une sheet malgrès ma ligne :
If rep = vbNo Then Exit Sub


Je veux afficher le bordereau à modifier. Je passe donc par une inputbox en feuil1 dont la valeur viens en feuil3 et le code de pascal ne m'aide malheuresement pas :(

Pour mon idée voila je pense que ce fichier va être un peu costaud j'ai entre 5 et 20 bordereaux à saisir par jour quelqu'un peux il me donner un lien avec des exemples concrets pour enregistrer mes nouvelles pages sous un classeur différent.


Merci d'avance aux gens qui se pencherons sur mes problèmes. [file name=Bordereau_20050519170209.zip size=19627]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Bordereau_20050519170209.zip[/file]
 

Pièces jointes

  • Bordereau_20050519170209.zip
    19.2 KB · Affichages: 12

Dan

XLDnaute Barbatruc
Re:vbno then exit sub / range = nom d'une sheet

Bonjour,

Réponse à ta question 1 :

Dans ta macro Sub commandbutton2_click() de la feuille 2, tu dois inverser deux instructions :

Macro dans ton fichier :

Code:
rep = msgbox('Valider le bordereau ?', vbYesNo)
rep = vbYes
If rep = vbNo Then Exit Sub

Macro à placer :

Code:
rep = msgbox('Valider le bordereau ?', vbYesNo)
If rep = vbNo Then Exit Sub
rep = vbYes

Question 2 : c'est quoi la feuille 3 ?

Message édité par: Dan, à: 23/05/2005 13:33
 
S

Simons

Guest
Re:vbno then exit sub / range = nom d'une sheet

Un grand merci pour ton aide Dan.
La solution était pourtant simple.....
:woohoo:

Pour ce qui est de ma feuille 3 (masquée sur mon fichier. Pour l'afficher passer par Format/Feuille/afficher.) : Il sagit juste d'une feuille de transition.

Je veux affecter une macro 'selection change' à cette feuille3 pour annuler la feuille qui correspond au numéro que je recherche.

Pour être concret voila un exemple :
Je créer un nouveau bordereau. Relever le numéro sur la feuille2.
On reviens ensuite sur la feuille1.
Je fait ensuite annuler ce bordereau. ( je pense que le code sera sensiblement similaire pour rechercher..)
Je ne sais pas comment faire référence à la feuille qui correspond au numéro que je recherche....

Merci d'avance pour celui ou celle qui connait la réponse à mon problème.
 

Dan

XLDnaute Barbatruc
Re:vbno then exit sub / range = nom d'une sheet

Bonjour,

Bon j'espère avoir compris ce que tu demandes.

Voilà un code à mettre à la place de celui existant et relatif au bouton 'Annule bordereau'

Code:
Private Sub CommandButton3_Click()
Dim message As String
message = InputBox('Quel est le numéro du bordereau à annuler ?'Â'Â')
If message = Feuil4.Range('A1'Â'Â').Value Then Feuil4.Range('A1'Â'Â').Value = '' Else End
End Sub

Bon à adapter en fonction du nom de tes feuilles si nécessaire.

;)

Message édité par: Dan, à: 26/05/2005 13:15
 

Simons

XLDnaute Occasionnel
Re:vbno then exit sub / range = nom d'une sheet

Bonjour,

Bon me revoila avec mon bordereau qui avance à petits pas..

Je bloque toujours pour faire apparaitre la feuille qui correspond au numéro que je recherche (cette feuille que je veux faire apparaitre se trouve sur un classeur nommé 'classeur1'. Bien sur ce classeur est ouvert quand je lance ma macro). :angry:

Voila le code que j'ai saisi :

'annuler
Private Sub CommandButton2_Click()
Dim Message As String
Message = InputBox('Quel est le numéro du bordereau à annuler ?', _
'microsoft excel', '')
If Message = '' Then
Exit Sub
Else
Workbooks('classeur1').Sheets(Message).Select
End Sub

Le message d'erreur me dis que
Workbooks('classeur1').Sheets(Message).Select
n'appartient pas à la selection... :eek:
 

Dan

XLDnaute Barbatruc
Re:vbno then exit sub / range = nom d'une sheet

Bonsoir,

sur cette instruction --> Workbooks('classeur1').Sheets(Message).Select

cela devrait être --> Workbooks('classeur1').Sheets('Message').Select

avec Message = le nom d'une feuille

;)
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re:vbno then exit sub / range = nom d'une sheet

Re

soit tu as une erreur dans le nom de ton classeur soit dans le nom de ta feuille

donc la variable message correspond-t-elle vraiment au nom d'une feuille existante dans un classeur qui s'appellerait classeur1 ???

sinon si ton classeur1 n'est pas le classeur actif essaies comme ceci

Workbooks('Classeur1').Activate
Sheets('Feuil1').Select


Bonne journée

Message édité par: Pascal76, à: 03/06/2005 08:23
 

Simons

XLDnaute Occasionnel
Re:vbno then exit sub / range = nom d'une sheet

Je vais finir par m'arracher les cheveux ... :sick:
J'y arrive poooooo !!!!

Je vous met mes 2 classeurs en pièce jointes.
J'ai bon espoir que vous me trouviez une solus..
Moi j'en peu plus. A mon (tout petit) stade de connaissances je jette l'éponge.
:(
 

Simons

XLDnaute Occasionnel
Re:vbno then exit sub / range = nom d'une sheet

Voici.

Merci d'avance pour votre patience. [file name=bordereau.zip size=29792]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/bordereau.zip[/file]
 

Pièces jointes

  • bordereau.zip
    29.1 KB · Affichages: 11
  • bordereau.zip
    29.1 KB · Affichages: 14
  • bordereau.zip
    29.1 KB · Affichages: 13

PascalXLD

XLDnaute Barbatruc
Modérateur
Re:vbno then exit sub / range = nom d'une sheet

Re

Voici ton fichier modifié

[file name=bordereau_20050603135916.zip size=27296]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/bordereau_20050603135916.zip[/file]
 

Pièces jointes

  • bordereau_20050603135916.zip
    26.7 KB · Affichages: 16

Discussions similaires

Réponses
7
Affichages
367

Statistiques des forums

Discussions
312 609
Messages
2 090 202
Membres
104 451
dernier inscrit
scp9990