Compter les cellules entre deux cellules.

Résolu/Fermé
Geant.vert - 29 sept. 2010 à 08:15
 Geant.vert - 29 sept. 2010 à 11:40
Bonjour à tous,

je souhaiterai dans une macro vba compter le nombre de cellules qu'il y a entre deux cellules identiques.

J'ai dans un fichier excel une liste de produit dont le nombre est indetermine et chaque produit est composé de differents composants dont le nombre peut varié lui aussi.

Ca ce présente sous la forme suivante:

Produit
-composant1
-composant2
-composant3
-composant4

Produit


-composant1
-composant2
-composant3
-composant4
-composant5

Je veux tout simplement compter le nombre de cellules vide et non-vide qu'il y a entre les deux cellules dont la valeur est égale à produit.

D'avance merci


A voir également:

10 réponses

cousinhub29 Messages postés 882 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 25 avril 2024 334
29 sept. 2010 à 10:28
Bonjour,

Et comment on sait qu'il s'agit d'un produit, et non d'un composant?

@ te relire avec plus de précisions
0
Tout simplement parceque c'est écrit "Produit" dans la cellule

@+
0
cousinhub29 Messages postés 882 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 25 avril 2024 334
29 sept. 2010 à 10:42
Re-,

"Tout simplement....."

Effectivement, j'aurai du le deviner....

Sous quelle forme? (Produit Untel, Produit 1, ou Produit tout court)
0
j'ai du mal m'exprimer,désolé.

par exemple en A10 il y a le mot Produit
puis de A11 à A15 des references de composants
puis en A16 de nouveau le mot produit
puis de A17 à A... des references de composants

Ce que je souhaite c'est compter toutes les cellules qui se trouvent en dessous du mot produit jusqu'au prochain mot produit.

Est-ce clair?
0

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

Posez votre question
cousinhub29 Messages postés 882 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 25 avril 2024 334
29 sept. 2010 à 10:53
Re-,

OK

Et sous quelle forme, tu veux récupérer ces données (on les inscrit dans une cellule, dans un MsgBox....)?

Par exemple, les cellules concernées sont dans la colonne A

On note en C1 le produit, et en D1 le nombre de cellules dessous, et ainsi de suite?
0
re-,

je n'ai besoin que tu nombre de cellules dessous.
Il peut être affiché dans la colonne D sur la même ligne que le mot Produit
0
cousinhub29 Messages postés 882 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 25 avril 2024 334
29 sept. 2010 à 11:03
Re-,

Donc, en supposant les produits dans la colonne A, essaie ainsi :

Sub produits()
Dim C As Range, DerCel As Range
Dim Ligne As Long
With Columns(1)
    Set C = .Find("Produit", LookAt:=xlPart)
    If Not C Is Nothing Then
        FirstAddress = C.Address
        Do
            Set DerCel = [D65000].End(xlUp)(2)
            DerCel.Value = C
            Ligne = C.Row
            Set C = .FindNext(C)
            DerCel.Offset(, 1).Value = C.Row - Ligne - 1
        Loop While Not C Is Nothing And C.Address <> FirstAddress
        DerCel.Offset(, 1).Value = [A65000].End(xlUp).Row - Ligne
    End If
End With
End Sub


bon courage
0
re-,

la macro passe sans problème mais je ne vois pas le résultat.
0
cousinhub29 Messages postés 882 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 25 avril 2024 334
29 sept. 2010 à 11:25
re-,

regarde le fichier joint...

http://www.cijoint.fr/cjlink.php?file=cj201009/cijdISTnBi.zip

si cela ne fonctionne pas chez toi, joins un fichier exemple, exempt de toutes données confidentielles, mais respectant la structure réelle de ton fichier initial...
0
re-,

j'ai essayé le fichier que tu m'as envoyé et ça fonctionne très bien avec mes données.

Il me reste à l'adapter à mon fichier.

Un grand merci pour ton aide et ta rapidité.


@+
0