Excel 2013 : probleme userform et selection feuille

Bonjour le forum,

J'utilise excel 2013 depuis peu (ayant eu l'habitude d'utiliser excel 2007 jusque là) et je ne comprends pas pourquoi je ne peux sélectionner une feuille et la modifier.

Lorsque je sélectionne une feuille depuis un userform, j'essaie de compléter la feuille qui s'affiche suite à la demande de l'userform :

sheets("XXXXX").Visible = true
sheets("XXXXX").select

Cependant je n'arrive pas à compléter la feuille sélectionnée par userform et visible à l'écran pour la simple raison que c'est la feuille depuis laquelle j'ai ouvert l'userform qui se complète.

Je suis preneur pour toute aide.

PS : J'ai essayé de faire un bouton de commande sur ma page disant Sheets("XXXX).Select et là ça marche.. mais même en faisant un call y (avec y ayant pour code Sheets(XXXXX).select) cela ne marche pas)

Merci d'avance pour toute aide

Cordialement

Bonjour,

Select (ou Activate) est dans la plupart des cas une instruction à éviter, parasite et inutile. Il est toujours préférable de doter ses expressions de qualificateurs d'objet, le code résultant sera plus propre et plus rapide...

Ceci étant, l'explication du pourquoi de la chose est à chercher dans ton fichier...

Bonjour,

Merci pour ta réponse, qui cela dit m'apporte bien de l'aide ^^

Je me pose la question suivanate :

Y aurait-il un moyen de coder :

afficher la feuille X et la sélectionner

autre que :

Sheets("X").Visible = true
Sheets("X").Select

Merci d'avance

Cordialement

Si tu ne veux que l'afficher, Non !

(.Activate plutôt que .Select... mais le résultat est le même)

Ceci dit, si tu as l'intention d'intervenir manuellement sur cette feuille à la suite, ok ! Sinon, inutile de l'activer...

Bonjour,

Merci pour ta réponse.

Oui je pars dans un objectif de pouvoir modifier la feuille X (ou du moins avoir accès à toutes les cellules qui ne seront pas verrouillées).

Je mets une trame en pièce jointe afin de savoir si ce n'est qu'un problème de réglage ou si cela vient de ma macro ou de l'userform.

Merci d'avance

Bonjour,

Pas très économique ton codage !!

Les noms des cases d'option ne permettent pas de les défiler en boucle... Pas grave en fait, car il suffirait qu'au clic chaque OptionButton lance une procédure en lui passant le numéro de mois. Une seule procédure suffirait à afficher la feuille du mois :

Sub AfficherMois(m As Integer)
    With Worksheets(m + 1)
        .Visible = True
        .Activate
    End With
    Unload.Me
End Sub

De même, plutôt qu'une procédure Deactivate par feuille Mois, une seule dans ThisWorkbook suffirait !

On divise ainsi déjà le volume de code par 12.

Pour l'utilisation contrôlée avec protection des feuilles, et report de données sur la feuille 1, c'est un peu nébuleux. Mais concernant toutes les feuilles, au niveau évènements déclencheurs cela se programme à partir du module classeur.

Cordialement.

Rechercher des sujets similaires à "2013 probleme userform selection feuille"