Creer plusieurs toupies et liées cellules automatiquement

Bonjour,

Sauf erreur de ma part, je n'ai pas trouvé la réponse à ma question dans le forum.

Je sais créer une toupie est lier la cellule. Cependant je dois en créer des 100aines !

Comment faire en sorte de créer 1 toupie dans une cellule puis de "glisser" et que la toupie soit reliée à la case correspondante ?

Comme quand on fait une somme et qu'on glisse ?

Dans mon exemple en pièce jointe, j'ai liée la toupie à la cellule A3.

Je souhiate donc mettre des toupies dans toutes les cases.

Actuellement je relie la celule 1 à 1 .

Merci d'avance et meilleurs voeux à toutes et tous.

Bonjour,

Je ne crois pas que ce soit simple de rendre dynamique le paramètre LinkedCell.

Il faut faire des macros.

Je te présente mes bons vœux ainsi que le fichier ci-joint.

135toupie.xlsm (23.75 Ko)

Bonjour Emigsin, bionjour oxydum

Sub DupliquerCompteur(cel As String)

    ActiveSheet.Shapes.Range(Array("Spinner 1")).Select
    Selection.Copy

    Range(cel).Select
    ActiveSheet.PasteSpecial Format:="Objet Dessin Microsoft Office", Link:= _
        False, DisplayAsIcon:=False
    With Selection
        .Value = 0
        .Min = 0
        .Max = 30000
        .SmallChange = 1
        .LinkedCell = cel
        .Display3DShading = True
    End With

End Sub

Sub test()
DupliquerCompteur "$B$5"
End Sub

edit : erreur du fichier ... le bon =

je viens de modifier le fichier posté (erreur de ma part)

il suffit ensuite de créer une boucle pour mettre les 99 autres spinners à leur bonne place !

Merci à tous,

Plus qu'à essayer de créer et comprendre les macros.... ou une boucle!

Je t'ai fait une version plus proche de ce que tu attendais...

Enjoy!

148toupie.xlsm (33.91 Ko)

Re-bonjour Oxydum,

C'est très pratique ce que tu as fais dans ton fichier excel comme exemple.

Peux tu me donner la marche à suivre ?

Merci d'avance.

C'est assez basique...

CelM et CelP sont deux shapes. Pour les mettre dans un autre classeur, il suffit de les copier en maintenant CTRL pour les sélectionner toutes les deux.

Ensuite, tu glisses le module1 dans ton nouveau classeur. Et voilà !

Note que le + et - sont sensibles au type de données (nombre, date, texte, pourcentage...)

basique.........

Je suis désolée, je ne comprend pas tout....

Peux-tu m'expliquer pour une novice en termes informatiques ?

CelM et Celp : c'est bon j'ai trouvé

Mais >>> glisses le module1 ?

J'ai donc bien copier/coller les 2 Cel dans mon fichier (j'ai redimensionner, changer la couleur ......)

Dans mon exemple : si je cliue sur rouge il faudrait que ça ajoute 1 et si je cliqe sr bleu ça diminue de 1.

Merci encore

Bonjour,

multiplier les objets sur une feuille, excel n'aime pas toujours...

Je te propose une autre approche.

Une seule toupie ActiveX qui apparait sur la cellule sélectionnée si elle appartient à la plage voulue :

Private Sub SpinButton1_SpinDown()
    Me.SpinButton1.TopLeftCell = Me.SpinButton1.TopLeftCell - 1
End Sub

Private Sub SpinButton1_SpinUp()
    Me.SpinButton1.TopLeftCell = Me.SpinButton1.TopLeftCell + 1
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, [A1:O32]) Is Nothing Then
        Me.SpinButton1.Visible = False
    Else
        Me.SpinButton1.Visible = True
        Me.SpinButton1.Top = Target.Top
        Me.SpinButton1.Left = Target.Left
    End If
End Sub

eric

Bonjour Eric,

Ca me convient également !

Mais comment faire ?

Ci-joint ton classeur

Merci à tous, mais je pense que c'est au delà de mes compétences ...........

L'ouverture de la dernière pièce jointe m'indique "qu'il est impossible d'executer la macro. Il est possible qu'elle ne soit pas disponible dans ce classeur ou désactivée"

Mais comment faire ?

Comment ça comment faire ?

Je t'ai mis un classeur exemple...

Tu as juste à mettre une toupie ActiveX (pas formulaire, c'est plus souple) sur ta feuille, et à copier-coller le code dans le module de la feuille. En adaptant la plage A1:O32 au besoin réel.

eric

Edit : il faut accepter les macros à l'ouverture du fichier.

Merci encore.

Mais je ne sais pas comment copier-coller le code dans le module de la feuille.

Je ne sais pas ce qu'est un module ou encore comment fonctionne un code.

Tant pis.

Passez une bonne journée!

Tu peux partir du fichier fourni qui a été fait sur ton modèle.

eric

Superbe eriiiic ... comment règles-tu le fait que la toupie influe sur la case où elle se situe ? comment accéder aux propriété de la toupie ?

Après l'avoir déplacée je repère sur quelle cellule elle est avec

Me.SpinButton1.TopLeftCell

lors d'une action dessus.

C'est la cellule à incrémenter ou décrémenter.

comment accéder aux propriété de la toupie ?

heuuu, pas sûr que ce soit ta vraie question... Clic droit dessus et Propriétés.

@Emigsin

baisse pas les bras si vite.

Alt+F11 pour ouvrir VBE (l'éditeur de VBA)

Double-clic sur le module de la feuille dans le projet (liste à gauche) pour voir le code.

eric

comment accéder aux propriété de la toupie ?

heuuu, pas sûr que ce soit ta vraie question... Clic droit dessus et Propriétés.

Ah ben oui mais cela ne fonctionnait pas ... je viens de comprendre qu'il fallait que je passe en "mode création".

Je suppose aussi que c'est sa position qui détermine alors la cellule cible. Car dans le cas d'une toupie formulaire il faut la mentionner clairement.

Bonjour,

on pourrait aussi se servir de sa propriété LinkedCell, et se passer des 2 procédures Up et Down.

eric

Rechercher des sujets similaires à "creer toupies liees automatiquement"