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
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
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
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.
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!
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 .
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.
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 (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.
Re : Compter le nombre de cellules jusqu'à une cellule pleine.
Re bonjour,
Bah j'ai encore une question finalement
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.
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;...:...)
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?
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.