Code vba pour défilement de feuilles avec toupie

CLAVERELI -  
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,
Je cherche un bout de code pour faire défiler les feuilles de mon classeur dans un sens ou dans l'autre sachant que j'ai une toupie (contrôle de formulaire) dans chaque feuille. (incrément +1 ou -1).
Vous avez cela dans votre bibliothèque? Alors un grand merci par avance à qui voudra bien m'en faire profiter.
Bien cordialement à vous tous.
A voir également:

7 réponses

Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 139
 
Bonjour,

il faut passer par du VBA et utiliser une toupie activex

nomme la cellule liée exemple a1 que tu nommes titi

dessine sur chaque feuille une toupie, dans la barre des propriétés recherche pour chaque toupie Linkedcell et saisir le nom de la cellule liée titi
Min saisir 1
et dans Max saisir le numéro de la dernière feuille

dans les propriétés de la première feuille coller ce code

Private Sub SpinButton1_Change()
Sheets(Range("A1")).Activate
End Sub

un petit exemple avec ce lien

https://www.cjoint.com/c/CGplNdzAvo2

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour à tous,

Si tu as beaucoup de feuilles ou que leur nombre évolue, une proposition sans bouton, avec un code unique dans ThisWorkbook.
Un double-clic dans la cellule supérieure gauche de la fenêtre (donc accessible quelque soit le scrolling) active la feuille précédente. Un double-clic dans la 2nde cellule active la feuille suivante.
Inconvénient : fait perdre la sélection en cours...
https://www.cjoint.com/c/CGpmvTECjX0

eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0
CLAVERELI
 
Bonjour Eriiic,
Merci pour ta proposition. Intéressante, à coup sûr. Je l'aie essayée!
Pour mon cas elle ne convient pas car je dois mettre mon projet entre des "mains non averties" qui vont chercher un bouton pour changer de page. Tu vois le genre? Alors j'engrange ton code, il trouvera sa place un jour.
Encore merci et bonne journée.
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
De rien.
Tu n'aurais pas raté la proposition de mike au-dessus ?
Plus conforme à ta demande.

eric
0
CLAVERELI
 
Merci Eriiic,
Je travaille sur la proposition de Mike mais je .... Bon je trouverai mais c'est dur.

Bonjour Mike-31
Merci pour ta proposition. Je travaille le sujet comme je le dis à Eriiic ci-dessus. Je n'ai pas voulu te déranger avant avoir d'avoir cassé mon nez sur toutes les issues.
Si je trouve, ou si je ne trouves pas d'ailleurs, ce qui est plus probable, je te recontacterais.
En attendant, bonne soirée à vous deux.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 139
 
Re,

ce n'est très compliqué si tu es méthodique, et en fonction de ta version Excel que tu n'as pas précisé.
commence par nommer une cellule qui sera liée à ce bouton, par exemple titi
puis sur ta première feuille crée une toupie activeX qui est ailleurs un SpinButton
double clic sur cette toupie ce qui va t'ouvrir le Visual Basic
dans la barre des propriétés du Visual Basic recherche Linkedcell et saisir le nom de la cellule liée titi dans la même barre recherche Min saisir 1 qui correspond à ta première feuille
puis recherche Max saisir le numéro de la dernière feuille , si tu as 10 onglet saisis 10 et si tu veux que l'affichage s'arrête à la huitième feuille saisir 8

dans la partie droite (grande feuille blanche tu remarqueras ce code

Private Sub SpinButton1_Change()

End Sub

il suffit d'insérer entre les deux lignes l'adresse de la cellule liée qui encadré de Sheets et activate ouvrira la feuille dont le numéro sera inscrit dans la cellule (comme ci dessous)

Private Sub SpinButton1_Change() Sheets(Range("A1")).Activate End Sub

sélectionner la deuxième feuille et recommencer par dessiner la toupie et paramétrer

Linkedcell saisir le nom de la cellule liée titi Min saisir 1 comme pour la première toupie
Max comme pour la première toupie

par contre ne plus saisir de code

et recommencer pour chaque toupie

a toi de jouer
0
CLAVERELI
 
Bonjour Mike-31,
et merci pour tes dernières précisions. J'avais oublié de préciser la valeur min dans les propriétés. Quelle tête!!!!
Bien, mais je reste avec un problème. Je n'ai plus d'accès à mes toupies.
Pour des raisons esthétiques je souhaite les déplacer ailleurs dans ma feuille mais quand je clique sur l'une ou l'autre (clic droit ou clic gauche) je ne parviens pas à obtenir le tableau des propriétés ou seulement l'encadré avec poignées permettant de faire un déplacement. J'ai lu quelque part dans l'aide que certains objets étaient "cachés". Mais les explications sont comme toujours nébuleuses. Bouhhhhh Mr Crosoft!!!!
Peux tu là encore me donner un petit coup de main?
En attendant, là, c'est moi qui boue. Si près du but.....
Une dernière précision, je suis sous Excel 2007.
Merci pour ton aide.
Bien cordialement.
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 139
 
Re,

tu as bien refait tes toupies avec la barre ActiveX (onglet Développeur/Contrôle/Contrôle ActiveX)

une fois tes toupies crées pour pouvoir les déplacer ou accéder aux codes il faut Onglet Développeur/module Contrôle/activer le bouton Mode Création (simple clic)
une fois terminé désactive ce bouton
0