variables classeur et onglet

dd41

XLDnaute Nouveau
Bonjour le forum,

Dans un classeur excel j'ai entré en variable un nom de classeur et un nom d'onglet afin d'ouvrir ce dernier et pointer sur l'onglet désigné :

Option Explicit
Dim ouvrir As Variant
Dim onglet As Variant

Function doc()
Sheets("conf").Select
Range("O60").Activate
ouvrir = ActiveCell.Value
End Function

Function Dest()
Sheets("conf").Select
Range("O61").Activate
onglet = ActiveCell.Value
End Function

Cependant, quand je lance ma procédure, j'obtiens un message d'erreur me disant que l'indice n'appartient pas à la selection. Voilà ma procédure :

Sub Renommer()
variables.doc
variables.Dest

Windows("ouvrir").Activate
Sheets("onglet").Select

end sub

J'ai déjà tenté plusieurs syntaxe mais je ne parviens pas à résoudre ce problème. J'espere donc pouvoir bénéficier de vos lumières en cette belle rentrée.

Merci beaucoup
 

tototiti2008

XLDnaute Barbatruc
Re : variables classeur et onglet

Bonjour dd41,

peut-être comme ça :

Code:
Option Explicit
Dim ouvrir As Variant
Dim onglet As Variant
 
Function doc()
doc= Sheets("conf").Range("O60").Value
End Function
 
Function Dest()
dest= Sheets("conf").Range("O61").Value
End Function 
 
Sub Renommer()
ouvrir = doc
onglet = dest
 
Workbooks(ouvrir).Activate
Sheets(onglet).Select
 
end sub
 

dd41

XLDnaute Nouveau
Re : variables classeur et onglet

bonjour tototiti2008

je viens d'essayer la solution, mais cette fois ci, j'obtiens un nouveau mesage d'erreur sur la ligne : ouvrir = doc (fonction ou variable attendu)

Pour eclaircir quelques point, j'ai un module qui s'appelle "variables" qui contient les variables : doc et dest avec l'option explicit

et j'utilise ces variables dans un autres modules c pour ca que les rappelle dans ma procédure.

J'ai redonner un nom au variables doc et dest dans l'exemple que tu m'as envoyé mais même message d'erreur qu'a l'origine

En tout cas merci pour ton aide et je suis toujours preneur si tu remarque quelque chose
 

tototiti2008

XLDnaute Barbatruc
Re : variables classeur et onglet

Re,

doc et dest ne doivent pas être déclarés dans un Dim, ce ne sont pas des variables mais des fonctions

et j'utilise ces variables dans un autres modules c pour ca que les rappelle dans ma procédure

Pour pouvoir appeler des variables dans un autre module, il faut les déclarer publiquement, c'est à dire mettre Public à la place de Dim
 

dd41

XLDnaute Nouveau
Re : variables classeur et onglet

J'ai redéclaré en public toutes mes fonctions mais le problème persiste sur la ligne : ouvrir = doc : fonction ou variable attendue

en début de procédure, je rappelle bien les fonctions :

variables.doc
variables.Dest
 

Discussions similaires

Réponses
6
Affichages
777

Statistiques des forums

Discussions
311 720
Messages
2 081 910
Membres
101 837
dernier inscrit
Ugo