Compteur limité

Ppouille Messages postés 278 Date d'inscription   Statut Membre Dernière intervention   -  
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Bonjour à toutes et à tous.
Je vais essayer d'êtr claire pour vous exposer ma requête.
Dans la cellule A1, j'ai un menu déroulant qui contient C1, C2 ... jusque C15.
Est-il possible que dans une autre cellule, par exemple B1, il y ait un compteur par rapport à ce que j'indique dans A1.
Je m'explique :
Je tape une première fois C1 dans la cellule A1, le chiffre 1 apparait en B1.
Je tape une première fois C2 dans la cellule A1, le chiffre 1 apparait en B1.
Je tape une deuxième fois C1 dans la cellule A1, le chiffre 2 apparait en B1.
etc ...
Est-ce possible ?
D'avance merci pour votre aide.





A voir également:

10 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour

Sans macro, ça ne me semble pas possible
Avec macro, un exemple en trichant un peu si on ne veut pas de cellules supplémentaires et en utilisant des textbox "empilés" à la place
https://www.cjoint.com/?3KfqicKrp6x

RQ. Merci à Gyrus au passage

Bonne suite
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Comme le dit ccm81 sans macro c'est pas possible.
Une alternative toute simple :
https://www.cjoint.com/c/CKgu2mTTP9B
0
Ppouille Messages postés 278 Date d'inscription   Statut Membre Dernière intervention   3
 
C'est bien cela mais après 3 sélection du même item, il faudrait que le compteur revienne à 1 !
Et comment créer cela, quelle formule ? ou ?
Merci
0
Ppouille
 
Merci pour vos réponses mais je ne parviens pas à ouvrir vos liens !
0
Ppouille
 
Voilà, je sais les ouvrir maintenant.
Oui, c'est bien ça, mais je souhaiterais que lorsque C1 a été sélectionné 3 fois, on revienne à 1 !
Et comment dois-je faire pour réaliser cela ?
Merci bcp
0

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

Posez votre question
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Lorsque C1 =3 ou n'importe lequel des 15
Si c'est ça tu remplaces par

Private Sub Worksheet_Change(ByVal Target As Range)
Dim nums As Long, v As String
If Intersect(Target, Range(cel)) Is Nothing Then Exit Sub
nums = Right(Target.Value, Len(Target.Value) - 1)
Shapes("tb" & nums).Select
Selection.ShapeRange.ZOrder msoBringToFront
v = ActiveSheet.OLEObjects("tb" & nums).Object.Value
If v >= 3 Then v = 0
ActiveSheet.OLEObjects("tb" & nums).Object.Value = inc(v)
ActiveSheet.Range(cel).Select
End Sub
Bonne journée
0
Ppouille
 
Désolé mais je n'y connais rien, ou doit-on insérer cette formule ?
Merci
0
Ppouille
 
Voici mon fichier, je voudrais insérer le compteur en C2, C3, etc ...
http://cjoint.com/?CKin0hxGivd
Merci
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Je ne sais pas si j'ai bien compris ton problème
https://www.cjoint.com/?3KiryfQTLta

RQ1. J'ai ajouté des colonnes en "Feuil1"
RQ2. attentions aux saisies, il y a des espaces malheureux dans certaines saisies qui peuvent perturber
RQ3. si ça va dans le bon sens, j'ajouterai des explications
0
Ppouille
 
Oui c'est bien ça ! Il ne faut par contre rien faire en Feuil1, uniquement dans RECA.
Il me faut cela dans toutes les cellules encadrées en rouge.
Mille merci pour ton aide.
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
La solution avec "empilement" de textbox (post#1), n'est pas jouable ici, ta demande initiale en nécessitait 15 mais ici il en faudrait plusieurs centaines.
Il ne reste que la solution d'ajouter des colonnes (celles que j'ai ajouté en Feuil1) quelque part (il faut bien stocker les valeurs quelque part)
On peut aussi simplement les masquer en Feuil1
C'est toi qui voit
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour Ppouille,

Dans le code de la feuille,
Remplace
  cel.Offset(, 1).Value = cel.Offset(, 1).Value + 1
Par
  cel.Offset(, 1).Value = (cel.Offset(, 1).Value Mod 3) + 1

0