Création scrollbar+modification de caractèr formule VBA

Bonjour,

J'aurais besoin d'aide pour le problème suivant :

Je voudrais créer une Scrollbar qui, lorsqu'on déplace son curseur, modifie la formule de 12 cases simultanément, en remplacant les derniers caractères de la formule par la nouvelle valeur de la scrollbar. La scrollbar aurait des valeurs entre 3 et 1026 et un pas de 1.

J'ai par exemple une formule dans la case A1 d'une feuille 'Feuille Test' (Z1 étant une autre feuille du classeur) qui est initialement :

='Z1'!I10

et je voudrais que lorsque je déplace le curseur de la scrollbar sur 45, la formule se modifie en ='Z1'!I45. La ligne 1 de cette feuille test correspond à la feuille Z1, et la ligne 2 correspond à Z2, et de même la colonne A de la feuille test correspond à la colonne I pour les feuilles Z1 et Z2, jusque la colonne F qui correspond à la colonne N pour les feuilles Z1 et Z2.

J'ai joint la feuille Excel pour plus de clarté.

Merci de votre aide.

Bonsoir,

Les éléments de ton classeur ne correspondent pas exactement à ce que tu dis ! (10 et 70 ? change à 5 ? etc.)

Ceci étant, une Userform s'avère complètement inutile pour ce que tu veux faire :

une ScrollBar sur la feuille suffit, une cellule liée pour recueillir sa valeur, et la formule à mettre dans cellule utilisera INDIRECT, la fin de la formule étant fournie par appel de la cellule liée (numéro de ligne).

Et le tout est automatiquement modifié par action sur la ScrollBar.

Cordialement.

Merci MFerrand pour cette réponse

J'ai créé une scrollbar et c'est en effet simple de la créer directement, et d'afficher sa valeur de sortie dans une case

Mais pour ce qui est de modifier la fin de la formule dans les cases qui m'intéressent, je ne comprends pas comment faire

Si j'ai par exemple en A1 la formule : ='Z1'!I10 et que je veux plutôt avoir ='Z1'IValeurDeLaScrollBar , comment la fonction INDIRECT peut-elle être utilisée ?

Pourriez-vous me donner la formule pour l'exemple qui ci-dessus ?

J'ai essayé de concaténer les chaines de caractères, sans succès

Merci

Supposons que H1 soit ta cellule liée, tu peux mettre en A1 :

=INDIRECT("'Z1'!I"&$H$1)

mais si I doit devenir successivement J, K... N, tu as intérêt à faire :

=INDIRECT("'Z1'!"&ADRESSE($H$1;COLONNE(9:9)))

La colonne 9 c'est I, mais le 9 va s'incrémenter en recopiant la formule.

Ta formule devient recopiable sur toute la zone A1:F2.

Cordialement.

Merci, ça marche parfaitement !

Rechercher des sujets similaires à "creation scrollbar modification caracter formule vba"