Posez votre question Signaler

Compteur excel

brahimkhalil 11Messages postés jeudi 28 juillet 2005Date d'inscription 3 juillet 2006Dernière intervention - Dernière réponse le 1 août 2005 à 15:47
bonjour
je vous demandes de m'aider pour avoir une macro qui resoud le probleme suivants
et merci d'avance

chaque fois que je rempli une cellule (Bn) de la colonne b
alors la cellule (Cn) juste a droite de la colonne C prend la valeur de la cellule de la colonne C repmli juste avant + 1

exemple :

b5 rempli alors c5=1
b7 rempli alors C7 = 2
B3 rempli alors C3 = 3
b56 rempli alors c56 = 4
c123 repli alors c123 =5

etc
Lire la suite 
Réponse
+0
moins plus
Bon... ne nuit,
Je crois que si j'avais à résoudre ce genre de problème, j'essaierais de m'en sortir avec une formule.
Tu pourrais essayer d'en fabriquer une qui ferais :
Si cellule dans colonne B n'est pas vide alors cellule active (de colonne C) = MAX de colonne active + 1 sinon rien.
Quelque chose comme : =SI(ESTVIDE(B1);MAX(B1:B123) ;"")
N'ayant pas Excel, je ne sais pas si ça fonctionne, mais ça peut être une piste.
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+0
moins plus
Re,
Enfin, plutôt Quelque chose comme : =SI(ESTVIDE(B1);"";MAX(C1:C123)+1)
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+0
moins plus
Re,
Je viens d'avoir une idée plus simple.
Il s'agit de compter le nombre de valeurs présentes dans la col. B puis de tester dans la col. C si la cellule voisine de la col. B n'est pas vide et, si c'est le cas, de faire =nombre de valeurs dans B.
Du genre :
dans C2 : =SI(ESTVIDE(B2);"";NBVAL(B1:B123))
dans C13 : =SI(ESTVIDE(B13);"";NBVAL(B1:B123))
etc.
Tu vois ?
brahimkhali- 29 juil. 2005 à 19:01
je te remerci de ta reponse

mais mon probleme est que j'ai un tableau de plus de 20.000 lignes
et que je doit remlir la colonne b d'une facon aleatoire suivantr une liste a chaque fois que je remli une cellule b la valeur de la cellule c ne doit plus changer comme ca je peut selectionner ma liste par ordre de remlissage et par ordre de la liste

merci beaucoup de chercher encore pour moi une solution qui pourra m'aide
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Salut
nbval(b1:b123) comptera le nombre de valeur emplissant les cellules de la zone B par contre une telle formule peche par le manque de dicernement imposé a excel la formule donnera la meme valeur dans toute la colonne C
si(estvide(b2);"";nbval(B2:123))
si B2 est non vide la valeur retournée sera le nombre total de case rempli dans B2:B123
il faudrait peut etre mieux copié dans C2 la formule suivante
=SI(estvide(B2);"";nbval($B$1:B2)-1
le -1 sous entends que tu as mis un titre en B1 genre Articles
la formule en C2 doit etre tiré vers le bas par contre si tu remplie la cellul B45 apres la cellule B47 la numerotation se refera a partir de B45 (si B47=8 b45 prendra la valeur 8 et B47 la valeur 9)
Cordialement
G.David

le respect n'est pas un dû
il se merite
brahimkhali- 29 juil. 2005 à 19:06
merci de ta reponse

mais la formule ne resout pas mon probleme

si tu as une autre idee merci beaucoup de me la parvenir

nb


je ne suis pas tres fort en programmation
Répondre
G.David 784Messages postés vendredi 21 novembre 2003Date d'inscription 13 février 2013Dernière intervention - 29 juil. 2005 à 23:01
Bon ce que tu veux ce n'est pas un compteur mais un indexage de tes cellule en b
il faudra passer par une macro evenmentielle
apres avoir mis en C1 la formule suivante : =max(C2:C20000)
tu ouvres VBA
par Alt + F11
tu clic sur la feuille outu a mis ta formule dans l'explorateur de projet
avec le bouton droit tu slectionne Worksheets et tu colles le code suivant:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Offset(-1, 0) <> "" Then
If ActiveCell.Offset(-1, 1) = "" Then
ActiveCell.Offset(-1, 1) = Cells(1, 3).Value + 1
End If
End If
End Sub

Cordialement
G.David
Répondre
brahimkhali- 30 juil. 2005 à 00:54
MERCI G. DAVID

tu as raison pour l'indexage

mais quand j'excute la macro j'ai un message d'erreur :

erreur d'exeucution '1004'

erreur defini par l'application ou par l'objet


merci encore de ton aide precieuse
Répondre
G.David 784Messages postés vendredi 21 novembre 2003Date d'inscription 13 février 2013Dernière intervention G.David - 30 juil. 2005 à 10:42
Curieux chez moi ça tourne . tu l'as nien coller dans le code de la feuille?
Cordialement
GDavid--
le respect n'est pas un dû
il se merite
Répondre
brahimkhali- 30 juil. 2005 à 11:43
BONJOUR G.david

au debut sa marche impecable mais

quant je rempli une cellule b et je decend d'une case en bas et a chaque fois si je me deplace avec les fleches a droite il rempli au fure et a mesure les cellules qui sont a droite de la derniere valeur de c

en plus a chaque fois que je rempli une cellule n'importe ou dans le tableu il repmli automatiquement la cellule a droite

et apres il affiche le message d'erreur :

erreur d'execution '1004'

et marci infiniment d'avence
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
En attendant de pouvoir le faire automatiquement, avec tout ce qui a été essayé, il te reste la possibilité de le faire à la main.
Il te suffit d'avoir toujours sous les yeux le résultat de la cellule (p.ex. C1) où est la formule : NBVAL(B1:B123). Lorsque tu auras entré une nouvelle valeur dans B, la valeur de C1 augmentera de 1 après que tu auras pressé <TAB>. Inscris alors ce chiffre dans la cellule active.
En attendant.
Ajouter un commentaire
Réponse
+0
moins plus
essayes avec cici
le principe est le même mais c'est bloqué sur les colonne b et c
d'autre part tu doit toujours valider ta saisie en Colonne B par entree ou par la touchje fleche bas c'est a partir de la cellule du dessous que la macro teste les cellules remplies ou non .Attention si tu change une valeur en B la cellule C adjacente ne sera pas modifiée ( c'est la demande)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lg As Integer
lg = ActiveCell.Row
If Cells(lg - 1, 2) <> "" Then
If Cells(lg - 1, 3) = "" Then
Cells(lg - 1, 3) = Cells(1, 3).Value + 1
End If
End If
End Sub

Cordialement
G.David
le respect n'est pas un dû
il se merite
Ajouter un commentaire
Réponse
+0
moins plus
mille fois merci G. davide

ca marche


et aussi merci pour tous les autres qui ont pris la peine de m'aider


merci pour tous

brahim
Ajouter un commentaire
Ce document intitulé «  compteur excel  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.