Recherche de cellules dans une plage de donnees
Fermé
Sancouette
Messages postés
2
Date d'inscription
mercredi 11 juillet 2018
Statut
Membre
Dernière intervention
12 juillet 2018
-
11 juil. 2018 à 19:04
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 12 juil. 2018 à 12:21
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 12 juil. 2018 à 12:21
A voir également:
- Recherche de cellules dans une plage de donnees
- Formule excel pour additionner plusieurs cellules - Guide
- Aller à la ligne dans une cellule excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Reinstaller windows sans perte de données - Guide
- Effacer les données de navigation - Guide
2 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 416
11 juil. 2018 à 19:39
11 juil. 2018 à 19:39
Bonjour
votre image ne dit pas grand chose! On ne voit pas sur cette image combien vous avez de paragraphe à traiter pour le même jour
avec un modèle Excel que vous pouvez déposer ici, ce serait plus facile à traiter:
http://mon-partage.fr
en attendant ce que l'on peu imaginer avec ce que vous nous donnez:
si vous démarrez dans la cellule D17 et en supposant que vous avez 50 staff, jusqu'en colonne Zd (donc jusqu'en Z351)
à adapter
la formule en AD17:
=SOMMEPROD(($D$17:$Z$350=AC17)*($D$18:$E$351<>""))
attention au décalage d'une ligne entre les plages traitées, qui doivent avoir la même hauteur
à tirer sur la hauteur de la liste en AD
Cette formule devrait compter toutes les cellules non vides directement au dessous de celles du tableau qui contiennent la date en AD
sous toutes réserves...la compréhension pouvant être défaillante
à vous lire
crdlmnt
votre image ne dit pas grand chose! On ne voit pas sur cette image combien vous avez de paragraphe à traiter pour le même jour
avec un modèle Excel que vous pouvez déposer ici, ce serait plus facile à traiter:
http://mon-partage.fr
- en revenant ici coller le lien créé sur le site
en attendant ce que l'on peu imaginer avec ce que vous nous donnez:
si vous démarrez dans la cellule D17 et en supposant que vous avez 50 staff, jusqu'en colonne Zd (donc jusqu'en Z351)
à adapter
la formule en AD17:
=SOMMEPROD(($D$17:$Z$350=AC17)*($D$18:$E$351<>""))
attention au décalage d'une ligne entre les plages traitées, qui doivent avoir la même hauteur
à tirer sur la hauteur de la liste en AD
Cette formule devrait compter toutes les cellules non vides directement au dessous de celles du tableau qui contiennent la date en AD
sous toutes réserves...la compréhension pouvant être défaillante
à vous lire
crdlmnt
Hutg
Messages postés
8
Date d'inscription
mercredi 11 juillet 2018
Statut
Membre
Dernière intervention
20 juillet 2018
11 juil. 2018 à 22:06
11 juil. 2018 à 22:06
Bonjour,
J'ai adapté ce code à ce que vous voulez faire. Pour le lancer, appuyez sur Alt + F11 quand vous êtes sur votre Classeur Excel. Puis, cliquez sur la feuille où sont vos données et copier coller le code ci-dessous. Pour finir, remplacez le "Mettre le numéro de la dernière ligne de vos données" par le numéro de la dernière ligne et appuyez sur F5 pour que le code se lance.
Sub CompteWorkers()
Dim Donnees As Range
Dim Compteur As String
Set Donnees = Range(Cells(1, 1), Cells("Mettre le numéro de la dernière ligne de vos données", 27))
For Jour = 17 To 39
Compteur = 0
For Each C In Donnees
If C.Value = Cells(Jour, 29) And Not Cells(C.Row + 1, C.Column) = "" Then
Compteur = Compteur + 1
End If
Next C
Cells(Jour, 30) = Compteur
Next Jour
End Sub
J'ai adapté ce code à ce que vous voulez faire. Pour le lancer, appuyez sur Alt + F11 quand vous êtes sur votre Classeur Excel. Puis, cliquez sur la feuille où sont vos données et copier coller le code ci-dessous. Pour finir, remplacez le "Mettre le numéro de la dernière ligne de vos données" par le numéro de la dernière ligne et appuyez sur F5 pour que le code se lance.
Sub CompteWorkers()
Dim Donnees As Range
Dim Compteur As String
Set Donnees = Range(Cells(1, 1), Cells("Mettre le numéro de la dernière ligne de vos données", 27))
For Jour = 17 To 39
Compteur = 0
For Each C In Donnees
If C.Value = Cells(Jour, 29) And Not Cells(C.Row + 1, C.Column) = "" Then
Compteur = Compteur + 1
End If
Next C
Cells(Jour, 30) = Compteur
Next Jour
End Sub
12 juil. 2018 à 12:03
J'ai bien tente votre formule, mais je n'obtiens rien, je ne m'y prends certainement pas bien...
J'ai suivi votre conseil et telecharge le fichier sur Mon Partage :
https://mon-partage.fr/f/iUeLqRCL/
Encore merci :)
Hate de recevoir votre conseil.
Sandra
Modifié le 12 juil. 2018 à 12:39
1° ce n'est pas une très bonne idée avec Excel d'utiliser à outrance les cellules fusionnées qui perturbent l'utilisation des formules
Ceci dit pour info, ça devrait quand même fonctionner, à condition que les deux plages de SOMMEPROD, décalés d'une ligne, aient exactement les mêmes dimensions, soit donc en AD17 la formule
=SOMMEPROD(($B$17:$AA$377=AC17)*($B$18:$AA$378<>""))
à tirer sur la hauteur
bien évidemment, cette formule ne prendra pas en compte le premier tableau au dessus de la ligne 17!
et les résultats sont moins bien garantis que si vous n'aviez pas de cellule fusionnées!!!
crdlmnt
ps: ici, ce que ça doit donner:
https://mon-partage.fr/f/V8AyXasg/