regroupement automatique

Ayral10

XLDnaute Junior
Bonsoir !
J'ai un classeur dans lequel il y a plein de feuilles contenant des valeurs, j'ai un dernier onglet dans le quel je fais le récapitulatif de chaque feuille ( une partie des tableaux), simplement avec la fonction =
ce récapitulatif ayant plusieurs cases avec des 0 dues à des valeurs zéro de mes tableaux, j'ai mis une mfc afin que l'on ne les voit pas car ils ne m'interresse pas dans ce tableau. Seulement j'aimerais que toutes les valeurs ( > à 1) soient regroupées en partant du haut sur une , deux ou trois colonnes , par ordre de grandeur et donc sans trous ni 0

voici mon exemple
 

Pièces jointes

  • récapitulatif.xlsx
    10.8 KB · Affichages: 28
  • récapitulatif.xlsx
    10.8 KB · Affichages: 30
  • récapitulatif.xlsx
    10.8 KB · Affichages: 29

job75

XLDnaute Barbatruc
Re : regroupement automatique

Bonjour Ayral10, bbb38,

Fonction VBA à placer dans un module standard :

Code:
Function Regroupe(r, lig&, col%)
Dim ncol%, rang&, i&, j%, n&
r = r 'matrice, plus rapide
ncol = UBound(r, 2)
rang = ncol * (lig - 1) + col
Regroupe = ""
For i = 1 To UBound(r)
  For j = 1 To ncol
    If r(i, j) <> 0 Then n = n + 1
    If n = rang Then Regroupe = r(i, j): Exit Function
  Next
Next
End Function
Formule en G2 à copier sur la plage G2:I25 :

Code:
=Regroupe($A$2:$C$25;LIGNES(G$2:G2);COLONNES($G2:G2))
Fichier joint.

A+
 

Pièces jointes

  • récapitulatif(1).xls
    47.5 KB · Affichages: 23
Dernière édition:

Ayral10

XLDnaute Junior
Re : regroupement automatique

Merci JOb et Bernard de vos explications , cependant dans le dernier exemple que tu me donne job , je ne vois pas de changement , toutes les cellules devant regrouper les valeurs contiennent #NOM?

dans l'exemple de Bernard , c'est bien le résultat recherché mais quand je rajoute un nouveau chiffre il n'est pas pris en compte dans le récap.

Le but est, je le rapelle car j'ai parfois crainte de mal l'expliquer, est que mon classeur qui contient 20 feuilles environ , contenant chacune des tableaux , dans ces tableaux je veux faire un récapitulatif d'une plage de sélection de chacune sur un seul nouvel onglet ( ou feuille ) créant ainsi 20 tableaux juxtaposés récapitulatifs ( qui se regroupe donc en partant du haut)
je joins un nouvel exemple pour mieux m'expliquer

merci encore de votre aide et ne vous inquiétez pas si ne réponds de suite , je suis en plein préparatifs du mariage de mon gamin !
bonne journée !
 

Pièces jointes

  • récapitulatif.xlsx
    25.1 KB · Affichages: 26
  • récapitulatif.xlsx
    25.1 KB · Affichages: 26
  • récapitulatif.xlsx
    25.1 KB · Affichages: 25

job75

XLDnaute Barbatruc
Re : regroupement automatique

Re,

Une solution avec une fonction matricielle, nettement plus rapide :

Code:
Function Regroupe(r)
Dim ncol%, t, i&, j%, n&
r = r 'matrice, plus rapide
ncol = UBound(r, 2)
ReDim t(1 To UBound(r), 1 To ncol)
For i = 1 To UBound(r)
  For j = 1 To ncol
    t(i, j) = ""
  Next
Next
For i = 1 To UBound(r)
  For j = 1 To ncol
    If r(i, j) <> 0 Then
      t(1 + Int(n / ncol), 1 + (n Mod ncol)) = r(i, j)
      n = n + 1
    End If
  Next
Next
Regroupe = t
End Function
Sélectionner G2:I25 et dans la barre de formule entrer :
Code:
=Regroupe(A2:C25)
Valider par Ctrl+Maj+Entrée.

Fichier (2).

A+
 

Pièces jointes

  • récapitulatif(2).xls
    56 KB · Affichages: 31

job75

XLDnaute Barbatruc
Re : regroupement automatique

Re,

cependant dans le dernier exemple que tu me donne job , je ne vois pas de changement , toutes les cellules devant regrouper les valeurs contiennent #NOM?

Je vois que vous ne connaissez pas VBA, encore moins les fonctions.

Une fonction VBA doit être placée dans un module standard, comme dans mon fichier.

Et le fichier doit être enregistré en .xlsm (acceptant les macros) ou .xls.

A+
 

Ayral10

XLDnaute Junior
Re : regroupement automatique

Non , j'avoue être néophite dans ce domaine , de plus je m'y colle épisodiquement , donc difficile. Déjà avec les mfc , je commence un peu à comprendre , mais a bien les utiliser tout de même sur des fonctions simples , pour le vba c'est autre chose ! j'ai déjà un certain âge , je prends un peu les choses en marche. Mais j'utilise Excel tous les jours et il m'est rare d'avoir recours a ces fonctions !
merci
 

Ayral10

XLDnaute Junior
Re : regroupement automatique

Non , j'avoue être néophite dans ce domaine , de plus je m'y colle épisodiquement , donc difficile. Déjà avec les mfc , je commence un peu à comprendre , mais a bien les utiliser tout de même sur des fonctions simples , pour le vba c'est autre chose ! j'ai déjà un certain âge , je prends un peu les choses en marche. Mais j'utilise Excel tous les jours et il m'est rare d'avoir recours a ces fonctions !
merci

Bon j'ai bien rentré ce vba ( en cliquant droit sur onglet pour acceder voir vba)et cette formule est bien dans mon fichier mais ca ne marche pas, dans les cellules j'ai bien encore le texte #NOM? et quand je clique sur une de ces cases j'ai ce message qui bloque tout :
"impossible de modifier une partie de matrice"

j'avoue que je suis complètement perdu , vous avez l'habitude mais pour un débutant c'est ploufff!
merc
 

Ayral10

XLDnaute Junior
Re : regroupement automatique

désolé , mais j'y comprends rien , je n'y arrive pas , si on m'explique pas avec plus de détail je n'y arriverais jamais, je ne veux pas aller trop vite je cherche à comprendre et que l'on m'aide à comprendre, il y a des tas de manip à faire je les apprends petit à petit mais bon désolé , un débutant c'est un peu lourd... je vais donc rester avec des formules simples pour ne plus déranger peu être? je suis pas près de comprendre la mise en application d'un vba
 

Discussions similaires

Statistiques des forums

Discussions
312 413
Messages
2 088 211
Membres
103 768
dernier inscrit
proxyci