compteur sur cellule variable

peg63

XLDnaute Nouveau
bonjour,
j'aimerai créer un compteur(peut importe le pas) dont la cellule liée serait non pas une cellule définie mais la cellule activée sur le momment,en plus ce compteur devrait être fixe sur la feuille (ne suit pas le mouvement de la feuille)
peut être une macro ou une formule sur cellule liée?
merci
 

Fred0o

XLDnaute Barbatruc
Re : compteur sur cellule variable

Bonjour peg63,

- Tu crées un UserForm qui n'a pas de titre et qui ne contient qu'une toupie (objet ActiveX SpinButton).
- Tu réduis au maximum la taille de l'USF de manière à ce qu'il ne tienne pas de place sur la feuille.
- Tu le déclares en "Non modal", c'est à dire que dans la fenêtre propriétés à la propriété "ShowModal", tu déclare "False".
- Ensuite, tu doubles-cliques sur le SpinButton et tu affectes ce code :
VB:
Private Sub SpinButton1_SpinUp()
    If Selection.Count = 1 Then
        Selection = Selection + 1
    End If
End Sub

Private Sub SpinButton1_SpinDown()
    If Selection.Count = 1 Then
        Selection = Selection - 1
    End If
End Sub

- Tu crées une feuille Module qui contient une sub avec cette instruction :
VB:
UserForm1.Show

Ceci devrait je pense, se rapprocher de ta demande.

A+
 

peg63

XLDnaute Nouveau
Re : compteur sur cellule variable

merci fredOo
comme je suis assez nul en VBa peux tu me joindre un fichier excel avec le boulot fait
cad avoir un seul compteur qui incrémmente la cellule sélectionnée sur le momment,puis le même compteur m'incrémentera la cellule qui sera activée ensuite...
a+
 

Fred0o

XLDnaute Barbatruc
Re : compteur sur cellule variable

Bonjour peg63,

Si tu veux progresser en VBA, ne me demandes pas de faire le boulot à ta place. Le but étant que la prochaine fois, tu puisses te débrouiller tout seul. Dans mon fil précédent, je t'ai donné toutes les explications nécessaires pour y arriver. Si il y a un point sur lequel tu bloques, je me ferais un plaisir te t'aider à le traiter.

A+
 

peg63

XLDnaute Nouveau
Re : compteur sur cellule variable

très juste,bon je vais te décrire ce que j'ai fait sur excel 2010
developpeur/inserer/controle activeX/toupie
je crée le bouton
clic droit sur bouton/propriété/je n'ai pas touver "show modal",dans visible j'ai mis false (peut être une première erreur)
ensuite double clic/ j'ai copier ton expression VBA,et j'enleve la première et dernière ligne qui étaient là auparavant :
Private Sub SpinButton1_Change()
End Sub
ensuite je ne sais pas créer une feuille module qui contient une sub,j'ai fait insertion module mais sub?
puis il faudrait me détailler la suite pour affecter la macro au bouton
je suis un peu (beaucoup largué)
alors je te remercie si tu prends le temps de bien me détailler la procédure
 

Fred0o

XLDnaute Barbatruc
Re : compteur sur cellule variable

Bonsoir,

L'erreur vient du fait que tu a créé ton contrôle ActiveX dans la feuille. En fait il te faut le créer dans VBA. Pour cela, fais <ALT> + <F11>. Ensuite, click-droit sur ThisWorkBook puis "Insertion" puis "UserForm".

A partir de là, tu reprends mon fil #2 et reviens me voir pour la suite, si besoin.

A+
 

peg63

XLDnaute Nouveau
Re : compteur sur cellule variable

bonsoir,
j'ai réalisé ce que tu m'as dit,ça marche; mais le bémol c'est qu'il faut que je relance la macro à chaque changement de cellule
il faudrait que le compteur soit visible sur la feuille et que la macro ne soit pas relancé chaque fois
peut être que dans l'expression vba faire référence à la cellule activée ?
en tout cas merci et bonne soirée
 

job75

XLDnaute Barbatruc
Re : compteur sur cellule variable

Bonsoir peg63, Fred0o,

Pourquoi ne pas mettre le SpinButton sur la feuille de calcul ?

Voir le fichier joint, l'événement Change semble plus simple :

Code:
Private Sub SpinButton1_Change()
If IsNumeric(ActiveCell) Then ActiveCell = ActiveCell + SpinButton1
SpinButton1 = 0
End Sub
Edit : ajouté If IsNumeric(ActiveCell) Then

Bonne nuit.
 

Pièces jointes

  • SpinButton(1).xls
    35.5 KB · Affichages: 129
  • SpinButton(1).xls
    35.5 KB · Affichages: 126
  • SpinButton(1).xls
    35.5 KB · Affichages: 138
Dernière édition:

peg63

XLDnaute Nouveau
Re : compteur sur cellule variable

bonsoir job 75 (et fredOo)
merci c'est trés bien avec le compteur sur feuille
j'ai essayé de reproduire ton fichier en faisant
developpeur/inserer/activeX/toupie/doubleclic sur compteur/copie de ta formule/executer macro
ça marche pour l'incrémentation positive quelque soit la cellule activée mais c'est bloqué pour incrémentation négative;erreur de procédure ou paramétrage incorrect?
d'autre part si on ne veut pas le compteur sur feuille de calcul serait il possible de le faire apparaitre automatiquement quand on selectionne des cellules d'une colonne définie par avance et pas sur d'autres colonnes
merci et bonne fin de journée à tous les deux
 

Fred0o

XLDnaute Barbatruc
Re : compteur sur cellule variable

Bonsoir à tous,

C'est possible avec un UserForm. Je ne crois pas que ça le soit avec la solution de Job75. Sauf S avec une macro évènementielle on masque ou affiche le contrôle. Qu'en penses tu Job ?

A+
 

job75

XLDnaute Barbatruc
Re : compteur sur cellule variable

Re,

Je ne vois pas ce que vous essayez de faire.

Regardez les propriétés de mon SpinButton : le Max est +1, le Mini est -1.

A chaque clic le SpinButton prend la valeur +1 ou -1 puis revient à 0.

Je ne peux rien dire de plus car il n'y a plus rien à dire...

Edit : oui bien sûr Fred0o, avec la propriété Visible, on masque ou affiche l'objet comme on veut !

A+
 
Dernière édition:

Fred0o

XLDnaute Barbatruc
Re : compteur sur cellule variable

Bonsoir,

En fait Job, je ne parlais pas de l'incrémentation mais de ceci :
serait il possible de le faire apparaitre automatiquement quand on selectionne des cellules d'une colonne définie par avance et pas sur d'autres colonnes

Mais si tu ne veux plus rien dire, No souci.

Motus et bouche cousue.

A+
 

job75

XLDnaute Barbatruc
Re : compteur sur cellule variable

Re,

Pour terminer correctement mon intervention, mettez dans le code de la feuille :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
SpinButton1.Visible = Not Intersect(ActiveCell, [A2:A30]) Is Nothing
End Sub
Voir le fichier (2) joint.

A+
 

Pièces jointes

  • SpinButton(2).xls
    36.5 KB · Affichages: 95
  • SpinButton(2).xls
    36.5 KB · Affichages: 98
  • SpinButton(2).xls
    36.5 KB · Affichages: 97

peg63

XLDnaute Nouveau
Re : compteur sur cellule variable

bonsoir,
effectivement job75 mon bouton était mal paramétré ,ça marche au poil
je reitère ma question en ce qui concerne l'apparition du compteur en modeuserform, uniquement, lorsqu'une cellule appartenant à une colonne définie auparavant est activée
merci à tous les deux
 

Discussions similaires

Statistiques des forums

Discussions
312 484
Messages
2 088 798
Membres
103 970
dernier inscrit
pepito59