Vérifier la position de l'utilisateur sur le classeur

Bonjour,

Je construis une procédure qui lancera une action en fonction de la position de l'utilisateur sur le classeur.

Je prends le nom d'une feuille du classeur pour vérifier l'égalité avec la position réelle de l'utilisateur sur le fichier.

La seule écriture avec laquelle mon programme fonctionne est en indiquant le nom personnalisé de la feuille de classeur :

If ActiveSheet.Name = "Commande" Then

"Commande" correspondant à la feuille de classeur "Feuil1".

Toutefois, cette utilisation ne me convient pas... le jour où le nom de la feuille vient à changer, le programme ne fonctionnera plus.

Est-il possible de mettre les noms type Feuil1, Feuil2 ... à la place ?

Sub comparateur()
'Déclenche ou non l'archivage + réinitalisation + backup du fichier

If ActiveSheet.Name = "Commande" Then
MsgBox "Feuil1 activée"
' + procédure

ElseIf ActiveSheet.Name = "Client" Then
MsgBox "Feuil2 activée"
' + procédure

Else

If ActiveSheet.Name = "Fournisseur" Then
MsgBox "Feuil3 activée"
' + procédure

Else

MsgBox "Feuille non gérée par la procédure" 'On termine la procédure et aucunes actions ne sera effectuée

End If
End If
End Sub

é

Merci d'avance pour votre aide.

Baptiste

Salut,

Tu pourrais tu baser sur le ActiveSheet.Index qui te renvoie le numéro de la feuille selon l'ordre dans lequel sont rangés tes onglets.

Attention toutefois, si des feuilles sont déplacées tu auras le m^me problème :s

Girodo,

bonjour

edit: salut Girodo

utilise activesheet.codename au lieu de activesheet.name

Bonjour Girodo et h2so4

Merci pour votre aide ! J'ai opté pour le .codename du coup.

Sub comparateur()

If ActiveSheet.CodeName = "Feuil1" Then
MsgBox "1"

ElseIf ActiveSheet.CodeName = "Feuil5" Then
MsgBox "2"

Else

If ActiveSheet.CodeName = "Feuil6" Then
MsgBox "3"

Else

MsgBox "erreur"

End If
End If
End Sub

Je passe en résolu.

Merci

Rechercher des sujets similaires à "verifier position utilisateur classeur"