Compter les cellules entre deux cellules.
Résolu
Geant.vert
-
Geant.vert -
Geant.vert -
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
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:
- Compter les cellules entre deux cellules.
- Concatener deux cellules excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Verrouiller cellules excel - Guide
- Nombre de jours entre deux dates excel - Guide
- Excel compter les cellules de couleur - Guide
10 réponses
Bonjour,
Et comment on sait qu'il s'agit d'un produit, et non d'un composant?
@ te relire avec plus de précisions
Et comment on sait qu'il s'agit d'un produit, et non d'un composant?
@ te relire avec plus de précisions
Re-,
"Tout simplement....."
Effectivement, j'aurai du le deviner....
Sous quelle forme? (Produit Untel, Produit 1, ou Produit tout court)
"Tout simplement....."
Effectivement, j'aurai du le deviner....
Sous quelle forme? (Produit Untel, Produit 1, ou Produit tout court)
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?
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?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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?
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?
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
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
Re-,
Donc, en supposant les produits dans la colonne A, essaie ainsi :
bon courage
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