Compteur excel
Fermé
brahimkhalil
Messages postés
11
Date d'inscription
jeudi 28 juillet 2005
Statut
Membre
Dernière intervention
3 juillet 2006
-
29 juil. 2005 à 01:21
brahimkhali - 1 août 2005 à 15:47
brahimkhali - 1 août 2005 à 15:47
A voir également:
- Compteur excel
- Compteur électrique - Guide
- Liste déroulante excel - Guide
- Comment ralentir un compteur linky forum - Accueil - Objets connectés
- Si et excel - Guide
- Word et excel gratuit - Guide
7 réponses
Gihef
Messages postés
5150
Date d'inscription
mercredi 20 juillet 2005
Statut
Contributeur
Dernière intervention
20 février 2023
2 778
29 juil. 2005 à 01:48
29 juil. 2005 à 01:48
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.
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.
Gihef
Messages postés
5150
Date d'inscription
mercredi 20 juillet 2005
Statut
Contributeur
Dernière intervention
20 février 2023
2 778
29 juil. 2005 à 02:02
29 juil. 2005 à 02:02
Re,
Enfin, plutôt Quelque chose comme : =SI(ESTVIDE(B1);"";MAX(C1:C123)+1)
Enfin, plutôt Quelque chose comme : =SI(ESTVIDE(B1);"";MAX(C1:C123)+1)
Gihef
Messages postés
5150
Date d'inscription
mercredi 20 juillet 2005
Statut
Contributeur
Dernière intervention
20 février 2023
2 778
29 juil. 2005 à 02:24
29 juil. 2005 à 02:24
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 ?
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 ?
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
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
G.David
Messages postés
768
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
1 juin 2020
203
29 juil. 2005 à 08:51
29 juil. 2005 à 08:51
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
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
G.David
Messages postés
768
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
1 juin 2020
203
29 juil. 2005 à 23:01
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:
Cordialement
G.David
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
brahimkhali
>
G.David
Messages postés
768
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
1 juin 2020
30 juil. 2005 à 00:54
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
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
G.David
Messages postés
768
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
1 juin 2020
203
>
G.David
Messages postés
768
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
1 juin 2020
30 juil. 2005 à 10:42
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
Cordialement
GDavid--
le respect n'est pas un dû
il se merite
brahimkhali
>
G.David
Messages postés
768
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
1 juin 2020
30 juil. 2005 à 11:43
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Gihef
Messages postés
5150
Date d'inscription
mercredi 20 juillet 2005
Statut
Contributeur
Dernière intervention
20 février 2023
2 778
31 juil. 2005 à 03:55
31 juil. 2005 à 03:55
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.
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.
G.David
Messages postés
768
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
1 juin 2020
203
31 juil. 2005 à 07:21
31 juil. 2005 à 07:21
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
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