Détecter caractères d'une variable en VBA

Bonjour

J'ai 3 feuilles

Feuil1

Feuil2

Feuil3

Je veux faire un test : si c'est 1, 2 ou 3

Comment le faire en VBA ? En formule excel j'aurais utilisé =droite(cells;1)=1 mais en VBA je colle

Je vous remercie pour votre aide

Atro

Bonsoir,

Que veux-tu détecter ?

Une feuille a un nom par défaut mis par Excel lorsque tu en ajoutes une, nom que tu peux changer.

Elle a aussi un nom de code, que tu peux voir dans l'éditeur VBA, le même que le nom par défaut au départ et tant que tu n'as pas modifié de nom (par la suite disjonction dès que tu as opéré des modifications.

Et il y a le rang de la feuille dans le classeur qui, lui, dépend de l'ordre dans lequel tu positionnes les feuilles.

On peut tout faire, il suffit de savoir quoi !

Ben j'ai 3 feuilles, je sais pas ce qu'il y aura comme mot avant le nombre mais il sera identique pour les 3 feuilles. Vu que c'est une macro de gestion de combustion pour les moteurs le rang de la feuille dans le classeur sera aléatoire mais elles seront forcément à la suite Feuil1, 2 et 3.

Dans la sélection sur mon menu, on doit sélectionner d'abord la 1, faire une action par bouton, puis la 2, autre action, puis la 3.

Cette recherche c'est pour que l'utilisateur (des élèves) sélectionnent d'abord la 1 puis la 2 puis la 3 et pas dans le désordre. Si il doit mettre la 2 et qu'il sélectionne pas la bonne, message box. Mais pour ça il faut tester si c'est 1 2 ou 3 d'ou ma question

Pourquoi n'ouvres-tu pas sur la première feuille sur laquelle opérer et faire passer ensuite d'une feuille à l'autre automatiquement dans l'ordre voulu ?

Et tu peux désafficher les onglets pour éviter que l'on clique par inadvertance dessus !

nope parce qu'ils doivent récupérer des infos a la main sur les 3 feuilles entre chaque étape

Cela ne les empêche pas de le faire.

Oubliez le nom des feuilles :

comment écrire en VBA : je vérifie que le premier caractère de droite d'une variable est égal à x?

Edit : j'ai trouvé, utiliser right et left à la suite sur ma variable. Merci quand même

Bonjour,

If Right(ActiveSheet, 1) = "1" Then

remplace ActiveSheet par ce qu'il te faut

eric

Il ne s'agit pas d'une variable !

S'il s'agit d'un nom de feuille, on se réfère à la propriété Name d'un objet Worsheet

v = Right(ActiveSheet.Name, 1)

Ci-dessus, on recueille dans une variable v le caractère de droite du nom de la feuille active. Ce sera une donnée de type String.

Sachant qu'il s'agit d'un chiffre, on peut le convertir pour avoir une valeur numérique si on estime que c'est plus commode.

v = CInt(Right(ActiveSheet.Name, 1))

On aura ainsi une donnée de type Integer.

Cordialement.

Rechercher des sujets similaires à "detecter caracteres variable vba"