Nom d'onglet stocké dans une variable

Résolu/Fermé
marianne84 Messages postés 9 Date d'inscription mardi 29 septembre 2009 Statut Membre Dernière intervention 21 octobre 2009 - 7 oct. 2009 à 17:11
marianne84 Messages postés 9 Date d'inscription mardi 29 septembre 2009 Statut Membre Dernière intervention 21 octobre 2009 - 7 oct. 2009 à 18:44
Bonjour ,

J'aimerais savoir comment activer sur VBA un onglet dont le nom est égal à la valeur d'une variable.
J'ai entré le code


Dim nom_dept As String

For i = 1 To 15
nom_dept = Cells(i, 4).Value ' par ex : Cells(i, 4).Value = departement Finance
Activeworksheet.Name = nom_dept ' les noms des onglets sont chaque cellule de la colonne 4


VBA me met comme message d'erreur "objet requis"
Le but c'est de reconnaître le nom du département dans la colonne 4 et d'activer l'onglet qui porte ce nom
J'espère avoir été assez claire
Merci à tous!

3 réponses

Salut,

si tu veux activer l'onglet, il faut écrire dans ta boucle :

Sheets("nom_dept").Activate

par contre si tu écris juste ça, tes onglets (à condition qu'ils existent) vont être activés successivement et c'est tout... enfin je suppose qu'il y a une suite à ton code.

en espérant t'avoir aidé,
bonne soirée !
ed
0
marianne84 Messages postés 9 Date d'inscription mardi 29 septembre 2009 Statut Membre Dernière intervention 21 octobre 2009
7 oct. 2009 à 17:29
Meric ED
J'avais pensé à ta réponse mais ça marche pas VBA me met "l ' indice n'appartient pas à la sélection"
De même Sheets(nom_dept).Activate ne marche pas non plus
T'a raison ya une suite à mon code, une fois que vba aura activé l 'onglet concerné je pourrai faire des copier coller mais je suis bloquée avant
0
en utilisant ça chez moi ça marche...

Sub test()


Dim nomonglet As String

For i = 2 To 4
nomonglet = Cells(i, 1).Value
Sheets(nomonglet).Activate
Next

End Sub



as tu essayé de débugger en utilisant F8 ? quelle ligne pose problème ?
a+ed
0
marianne84 Messages postés 9 Date d'inscription mardi 29 septembre 2009 Statut Membre Dernière intervention 21 octobre 2009
7 oct. 2009 à 18:26
voici la ligne qui pose problème après débogage:
Sheets(nomonglet).Activate


VBA me met toujours:" l'indice n'appartient pas à la sélection", pourtant j'ai utilisé ton code, dès la première valeur de i ça buggue.
merci
0
alors là...
la seule idée qui me vient c'est de vérifier que tes noms d'onglets sont bien EXACTEMENT identiques à ceux contenus dans tes cellules, parce que ton erreur implique que l'onglet n'existe pas.

c'est vite arrivé de se tromper sur les noms d'onglets, par exemple j'ai déjà passé plus d'une heure à réaliser que Sheets("Accueil") est différent de Sheets("Acceuil")...

bon courage !
ed
0
marianne84 Messages postés 9 Date d'inscription mardi 29 septembre 2009 Statut Membre Dernière intervention 21 octobre 2009
7 oct. 2009 à 18:44
Cool
effectivement il y avait une petite différence entre les noms des onglets
Bonne soirée et merci de ta disponiblité
0