Macro renvoi avec selection feuille.

baldron

XLDnaute Nouveau
Bonjours a tous. Voila mon probleme, je voudrais faire une macro qui me renvoie a une feuille specifique.

Par exemple dans la feuille "Entrées Classes" je rentre les informations relatives a ma recherche. La recherche se fait selon plusieurs criteres:
Dans l'ordre: La feuille recherchée
La date désirée
Le professeur désiré.

Pour la date et le professeur c bon, mais voila je ne sais pas comment aller a la feuille recherchée. Voila la macro que j'ai bricolé deja (mais bon bricoler avec VBA on fini vite par s'embrouiller et je maitrise vraiment pas l'outil), avec la precieuse aide de bhbh. Si vous pouvez m'aider a faire correctement cette macro. Merci

PHP:
Sub aller()
Range("C23:I23").Copy
With Sheets("Entrées Classes")
Set pl = .Range("AA6")
pl.Name = "page"
End With
Dim pl As Range
With Sheets("page")
Set pl = .Range("C4:IV" & .[B65000].End(xlUp).Row)
pl.Name = "base"
Set pl = .Range("B4:B" & .[B65000].End(xlUp).Row)
pl.Name = "dates"
Set pl = .Range(.Cells(3, 3), .Cells(3, .[IV3].End(xlToLeft).Column))
pl.Name = "noms"
End With
With Sheets("Entrées Classes")
Set pl = .Range("C3")
pl.Name = "date1"
Set pl = .Range("AB2")
pl.Name = "nom"
End With
x = Evaluate("Index(base,match(date1,dates,0),match(nom,noms,0))").Address
Sheets("parametres calendrier cours").Select
Range(x).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        True, Transpose:=False
End Sub

Merci.
 
Dernière édition:

baldron

XLDnaute Nouveau
Re : Macro renvoi avec selection feuille.

Sinon pour ceux qui seraient en train d'etudier mon probleme, quand je lance ma macro il me dit "Instruction incorrecte a l'interieur d'un bloc de type" en me selectionnant le Dim as range.

Sinon si vous connaissez juste la formule pour que il m'envoie a la feuille dont j'inscris le nom en AA6, vous pouvez me la passer j'essaierai de l'adapter.
 

Cousinhub

XLDnaute Barbatruc
Re : Macro renvoi avec selection feuille.

Bonjour,
je crois comprendre que la page recherchée est celle inscrite dans la cellule AA6?

si c'est cela, tu peux modifier comme ceci :
(code raccourci grâce à un MP de Staple, merci à lui)

Code:
Sub aller2()
With Sheets("Entrées Classes")
    .Range("AA6").Name = "page"
End With
With Sheets("page")
    .Range("C4:IV" & .[B65000].End(xlUp).Row).Name = "base"
    .Range("B4:B" & .[B65000].End(xlUp).Row).Name = "dates"
    .Range(.Cells(3, 3), .Cells(3, .[IV3].End(xlToLeft).Column)).Name = "noms"
End With
With Sheets("Entrées Classes")
    .Range("C3").Name = "date1"
    .Range("AB2").Name = "nom"
End With
x = Evaluate("Index(base,match(date1,dates,0),match(nom,noms,0))").Address
Range("C23:I23").Copy
Sheets([AA6].Value).Range(x).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        True, Transpose:=False
End Sub


Edit : au vu de ton dernier post, j'avais bien compris....
 

Cousinhub

XLDnaute Barbatruc
Re : Macro renvoi avec selection feuille.

Re,
j'avais pas fait gaffe

remplace :

Code:
Sheets("page")

par

Code:
Sheets([AA6].Value)

et tu peux supprimer tout ce qui concerne "page"

Code:
With Sheets("Entrées Classes")
    .Range("AA6").Name = "page"
End With
 

Discussions similaires

Réponses
1
Affichages
160
Réponses
0
Affichages
137

Statistiques des forums

Discussions
312 113
Messages
2 085 430
Membres
102 889
dernier inscrit
monsef JABBOUR