Compter le nombre de cellules jusqu'à une cellule pleine.

napo124

XLDnaute Junior
Bonjour,
Je me présente brièvement, je suis clément 20 ans, étudiant en logistique, et je débarque sur ce forum avec le genre de problème simple mais qui énerve ^^
Voilà:
Ecel: compter les cellules entre....
N'ayant pas eu de réponses aujourd'hui, je viens voir les experts.
Alors en résumé, j'ai une base de données importante dont une colonne signale ponctuellement un numéro ID (c'est à dire que 90% des lignes de cette colonne sont vides). Mon but est d'obtenir une formule qui me dénombre le nombre de cellules vides séparant chaque paire de valeurs dans cette colonne.
Exemple:
1237846




478946 4 lignes



8845456 3 lignes

Avez vous une idée ?

Merci de votre aide!
 

JNP

XLDnaute Barbatruc
Re : Compter le nombre de cellules jusqu'à une cellule pleine.

Bonjour Napo124 et bienvenue :),
Si j'ai compris la question, tu peux tester
Code:
Sub Test()
Dim I As Integer
I = 1
While Cells(I, 1) <> "" Or I < 100
If Cells(I, 1) <> "" Then MsgBox "Ligne " & I & " non vide"
I = I + 1
Wend
End Sub
après, à toi de savoir ce que tu veux faire quand il y a une ligne valide.
Bon courage :cool:
 

Excel-lent

XLDnaute Barbatruc
Re : Compter le nombre de cellules jusqu'à une cellule pleine.

Bonsoir et bienvenu sur le forum Napo124

Voila ce que c'est que d'aller sur un forum ... non spécialisé! Vous croyez que j'allais dire quoi? :)

Sinon, plus sérieusement, voici une solution en VBA

Code:
Sub LignesVide()

Dim DernièreLigne As Long
Dim NbLigneVide As Long

DernièreLigne = [A65536].End(xlUp).Row

For i = 2 To DernièreLigne
  If Range("A" & i) <> "" Then
      If Range("A" & i - 1) <> "" Then
          Range("B" & i) = "0 ligne(s)"
      Else
          NbLigneVide = i - Range("A" & i).End(xlUp).Row - 1
          Range("B" & i) = NbLigneVide & " ligne(s)"
      End If
   End If
  
Next i

End Sub

Au cas où tu ne serais pas familiarisé avec le VBA, voici ci-joint un fichier de démonstration mettant en œuvre la macro ci-dessus.

Ne connaissant pas ton niveau en Excel et en VBA, j'ai fais court, mais si tu veux plus de d'explication n'hésite pas.

Bonne fin de soirée

Edition : Bonsoir JNP. Et ben... 2 réponses en moins de 20mn! Et aucune sur l'autre forum en plus de 11H00 de temps! Je sens que notre ami Napo124 va vite devenir accro à ce forum :D
 

Pièces jointes

  • Nb de ligne(s) vide.xls
    22.5 KB · Affichages: 292
Dernière édition:

napo124

XLDnaute Junior
Re : Compter le nombre de cellules jusqu'à une cellule pleine.

Bonsoir, merci de votre réponse, mais c'est un peu du chinois pour moi ^^
Je ne suis pas habitué à utiliser ce langage, mais je vais essayer d'appliquer ca!

En fait pour etre plus précis: mon objectif est de calculer la somme de la deuxième colonne CHAQUE fois qu'une valeur dans la première colonne apparait.
Exemple:
1254 5
vide 4
vide 3 total 5+4+3
5454 2
vide 2
vide 3
vide 4
vide 2 total 2+2+3+4+2
45756

Voilà, le principal problème venant du fait de comment déterminer le nombre de lignes concernées par la somme à chaque nouvelle valeur dans la première colonne.

Merci de votre aide ^^
 

napo124

XLDnaute Junior
Re : Compter le nombre de cellules jusqu'à une cellule pleine.

Waouh ca marche excel-lent merci pour cette macro!!! Me reste plus qu'à la mettre dans mon fichier! Si j'y arrive :/
En tout cas merci de votre aide, ca n'a pas trainé !! Bravo à vous!
 

skoobi

XLDnaute Barbatruc
Re : Compter le nombre de cellules jusqu'à une cellule pleine.

Bonsoir napo124,
JNP :),
Excel-lent:),

Ci-joint une autre approche avec le calcul de somme, le code est un peu plus difficile à comprendre pour un non initié mais bon, au cas où tu veux des explications, n'hésites pas ;).

Edit: fichier modifié.
 

Pièces jointes

  • somme vides.zip
    8.5 KB · Affichages: 168
Dernière édition:

Excel-lent

XLDnaute Barbatruc
Re : Compter le nombre de cellules jusqu'à une cellule pleine.

Re-bonsoir,

La macro part du principe que sur la ligne 1, il y a tes "titres de colonnes".

Si ce n'est pas le cas dans la macro remplacer :
Code:
For i = 2 To DernièreLigne

par :
Code:
For i = [COLOR="Blue"][B]1[/B][/COLOR] To DernièreLigne

Ormi cela, normalement tu n'as aucune modification à faire!

Sinon concernant la hauteur de ton tableau, pas de soucis, la macro s'adapte toute seule grâce au code :
Code:
[A65536].End(xlUp).Row

Concernant la mise en place de la macro dans ton fichier il te suffit de :
-> ouvrir ton fichier
-> cliquer sur "ALT" + "F11"
=> une fenêtre "Microsoft Visual Basic - ..." (écrit en haut dans le bandeau bleu) s'ouvre
-> dans la partie de gauche, il y a la liste de toutes tes feuilles, double clic sur la feuille où se trouve tes données
-> dans la partie de droite, colle la macro que je t'ai donné
-> puis tu peux fermer cette fenêtre "Microsoft Visual Basic - ..." à l'aide de la croix en haut à droite

=> ainsi tu retourne sur ta feuille excel.

Pour lancer la macro deux solutions.
Première solution : lancer la macro manuellement
-> cliquer sur "ALT" + "F8"
-> puis dans la fenêtre qui vient de s'ouvrir, choisir dans la liste ta macro (un clic gauche)
-> cliquer sur "Exécuter"

Ou :

-> cliquer sur "ALT" + "F8"
-> puis dans la fenêtre qui vient de s'ouvrir, choisir dans la liste ta macro et double cliquer dessus (clic gauche)

Deuxième solution : : si tu veux lancer la macro à plusieurs reprise, l'idéal et de faire un bouton, pour qu'à chaque fois que tu clic sur ce bouton, la macro se lance.

Méthode utilisé dans mon fichier
-> faire un dessin (par exemple un rectangle avec angle arrondi)
-> insérer une zone texte dans le rectangle, dans laquelle tu écris ce que tu veux, par exemple "pour lancer la macro cliquer ici"
-> mettre ton pointeur sur le dessin
-> clic droit
-> cliquer dans le menu qui vient d'apparaître sur "Affecter une macro..."
-> dans la liste qui apparait, sélectionner ta macro (double clic gauche)

Maintenant chaque fois que tu cliqueras sur ce dessin, la macro se lancera.

Bonne fin de soirée et à bientôt

Edition : bonsoir Skoobi
 
Dernière édition:

Monique

Nous a quitté
Repose en paix
Re : Compter le nombre de cellules jusqu'à une cellule pleine.

Bonjour tous,

Par formule

La somme de toutes les cellules qui précèdent moins les sommes déjà faites
Ou bien avec le calcul de la ligne non vide précédente et Indirect()
 

Pièces jointes

  • LignesVidesNapo124.zip
    2.7 KB · Affichages: 184

andré

XLDnaute Barbatruc
Re : Compter le nombre de cellules jusqu'à une cellule pleine.

Bonjour à vous tous,

Variante au cas où la dernière série de nombres devrait également être additionnée.
 

Pièces jointes

  • LignesVidesNapo124 V2.xls
    17 KB · Affichages: 221

napo124

XLDnaute Junior
Re : Compter le nombre de cellules jusqu'à une cellule pleine.

Bonjour à tous et merci de vos très nombreuses réponses de plus en plus pertinentes! Je vous écris directement de mon stage où vos réactions m'ont permis de mettre en place les bases d'un nouveau système de gestion des priorités! Elles permettront à terme de mieux fluidifier la production d'un site de production d'équipements aéronautiques.
Cependant si par la suite vous entendez parler de nouveaux retards dans la production d'airbus, vous saurez alors que vos formules contenaient des erreurs :D (bon ok, j'en rajoute un peu^^)

Plus sérieusement, je remerci encore l'ensemble des intervenants (JNP, excellent, skoobi, monique et andré) avec une mention spéciale pour monique qui a trouvé la réponse exacte à mon problème (et sans macro ni vba ouf ^^). Cependant, peut être qu'elle n'a pas été la seule, mais ayant un niveau un peu en retard par rapport aux votres, je n'ai pas pu vérifier, une bonne réponse me suffit ;)

Encore merci à vous, et je n'hésiterais pas à repasser pour vous poser une colle.

Bien cordialement,

Napo124
 

napo124

XLDnaute Junior
Re : Compter le nombre de cellules jusqu'à une cellule pleine.

Re bonjour,

Bah j'ai encore une question finalement :D
J'ai bien ma base de donnée correcte mais j'aimerais utiliser 4 boutons (macros) permettant de filtrer cette même BdD en fonction de 4 listes de postes.

Dans ma base de données, j'ai effectivement une colonne Poste décrivant pour chaque ligne un poste correspondant. D'un autre côté j'ai 4 groupes de postes (en moyenne 20 postes chacun) regroupant tout les types de postes possibles.

D'où ma question: comment en un clic filtrer la base de données pour ne faire apparaitre que les lignes correspondant au groupe voulu? J'ai voulu créer une macro pour cela utilisant un filtre élaboré, mais il semble que ce même filtre ne marche pas.
 

skoobi

XLDnaute Barbatruc
Re : Compter le nombre de cellules jusqu'à une cellule pleine.

Bonjour napo124, le forum,

Sans le fichier ce sera difficile de te donner un coup demain.

PS: dis donc, pour ton premier post, tu as été gâté, je pense comme le dis JNP que tu peux laisser tomber "l'autre forum" :D:p.
Bonne soirée.
 
Dernière édition:

Excel-lent

XLDnaute Barbatruc
Re : Compter le nombre de cellules jusqu'à une cellule pleine.

Bonsoir Napo124,

napo124 à dit:
D'où ma question: comment en un clic filtrer la base de données pour ne faire apparaitre que les lignes correspondant au groupe voulu?

Il y a encore plus simple que les macros, utiliser le filtre automatique :
-> sélectionner ta ligne de titre
-> "données" / "filtrer" / "filtre automatique"
-> puis à l'aide des filtres, tu peux ainsi d'un simple clic, laisser les lignes du groupe voulu et masquer toutes les autres lignes. Et tu peux changer/enlever le filtre quand tu veux sans aucune difficulté.

Puis si tu veux faire des sommes :
-> au lieu d'utiliser la fonction : =SOMME(...:...) qui fait la somme de toutes les lignes masqué ou non
-> utilise la fonction : =SOUS.TOTAL(9;...:...) qui fait la somme QUE des lignes visibles (les lignes non masqué par le filtre automatique)

Si tu veux faire des moyennes des lignes visible uniquement :
-> au lieu d'utiliser la fonction : =MOYENNE()
-> utilise la fonction : =SOUS.TOTAL(1;...:...)

Si tu veux compter le nombre de lignes visible contenant quelquechose :
-> au lieu d'utiliser la fonction : =NB(...:...)
-> utilise la fonction : =SOUS.TOTAL(2;...:...)

Et il en existe encore tout plein d'autre.

Bonne fin de soirée
 

napo124

XLDnaute Junior
Re : Compter le nombre de cellules jusqu'à une cellule pleine.

Mon fichier fait 18 Mo :(:(
Bon je l'ai simplifié.

Première page du fichier: Base de Donnée originale (extraite de façon journalière et faisant normalement entre 5000 et 10000 lignes)

Deuxième page: le tableau recherché.
On trouve en tête de ce tableau les paramètres à entrer dans le fichier pour le mettre en forme (et qui pourront être à l'avenir modifier si nécessaire). Ceux ci correspondent aux cases marons.

Ma question concerne les responsables:
Un tableau permet de renseigner quels postes sont attribués à quels responsables (M. DUPONT et M. Martin).
Comment organiser un filtre élaboré ou une macro ou je ne sais quoi encore qui puisse permettre de filtrer les lignes du tableau qui ne concernent que les postes inscrits sous le nom du responsable tout en laissant le choix au manipulateur de compléter la liste ou la modifier?

Merci de votre aide (encore une fois^^)
 

Pièces jointes

  • fichierfinal.zip
    10.9 KB · Affichages: 99

Excel-lent

XLDnaute Barbatruc
Re : Compter le nombre de cellules jusqu'à une cellule pleine.

Bonsoir Napo124,

napo124 à dit:
tout en laissant le choix au manipulateur de compléter la liste ou la modifier?

La solution que je t'ai proposé ci-dessus ("filtre automatique") permet cela!

Et comme dis, à l'avantage d'être :
-> d'une utilisation connu par la plupart des utilisateurs d'excel (+facile à expliquer si l'utilisateur ne connaissait pas)
-> simple d'utilisation
-> facile à mettre en place (et t'éviteras de te lancer dans les macros que tu ne connais pas encore)

Pour apprendre le VBA, mieux vaut commencer à apprendre petit à petit sous peine de se démoraliser, abandonner, et passer à côté d'un truc sympa et pratique.

Bonne soirée
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35