Vba-ordre chronologique grille valeurs

Celeda

XLDnaute Barbatruc
Bonsoir,

Je dispose d'une feuille dans laquelle je place des valeurs issues de trois bases de données pour trois items, a,b,c. ainsi que des quantités. Ces valeurs (et quantités) fluctuent au jour le jour, et par conséquent je les modifie manuellement pour en tirer une grille de valeurs actualisées, triées du plus grand au plus petit. Il va y avoir d'autres valeurs qui viendront s'ajouter donc je devrais insérer des colonnes pour ajouter les nouvelles valeurs. Les plages se modifieront par conséquent. Elles ne s'arrêteront pas à U3....
Je souhaite automatiser cette manip. Il y a en fait, trois actions à automatiser : la récupération des valeurs en ordre de grandeur, récupérer la qty allouée à chaque valeur, et la mfc qui est associée, sauf pour les valeurs communes.

Récupération des valeurs en ordre de grandeur
Il s'agit de récupérer les valeurs de chaque item
des lignes c2:u2, c4:u4;c6;u6 et de les placer
sous une forme de grille (grille des valeurs) du plus
grand au plus petit.

Récupérer la qty allouée à chaque valeur
De plus, il faut pour chaque valeur récupérer dans
un commentaire automatique la qty allouée, soit
les lignes respectives en-dessous, c3:u3,c5:u5;c7:u7.

MFC
Et pour conclure, il faut récupérer la mfc pour chaque
valeur concernant l'item sauf….qu'il peut arriver
que l'on retrouve la même valeur pour un ou deux
items; exemple: la valeur 3564, se retrouve chez
a et b et dans le cas où l'on retrouve la même valeur partagée
par les items, la couleur de la cellule sera rouge.


J'espère que je n'abuse pas de trop avec ces trois demandes....:rolleyes:et
si je ne suis pas assez claire, n'hésitez pas à me le dire.
Je vous remercie à l'avance pour votre aide :).
 

Pièces jointes

  • GrilleValeurs.zip
    46.5 KB · Affichages: 47
Dernière édition:

Celeda

XLDnaute Barbatruc
Re : Vba-ordre chronologique grille valeurs

Bonjour,

Oh!!! c'est propre, c'est net, c'est SUPER!!
(c'est surtout compliqué pour moi, je me doutais des codes avec des tableaux et éliminer les doublons et tout le kit!!!!)


En ce jour je n'ai qu'une chose à te dire Banzai64 : TU ES UN AMOUR!!!!! de vbéaiste :)

Je te remercie beaucoup et je t'embrasse très fort!!.
 

job75

XLDnaute Barbatruc
Re : Vba-ordre chronologique grille valeurs

Bonsoir Celeda, Banzai64,

J'ai voulu voir ce que donnait un traitement des valeurs en utilisant Application.Large.

C'est l'équivalent de la fonction Excel GRANDE.VALEUR.

Voir le fichier joint avec cette macro :

Code:
Sub Grille()
If ActiveSheet.Name <> "Feuil2" Then Exit Sub 'sécurité
Dim plage As Range, n&, cel As Range, i&, v, v1
Dim flag As Boolean, ref As Range
Application.ScreenUpdating = False
'---définition de la plage de base----
Set plage = Union([C2].Resize(, [IV2].End(xlToLeft).Column - 3), _
  [C4].Resize(, [IV4].End(xlToLeft).Column - 3), _
  [C6].Resize(, [IV6].End(xlToLeft).Column - 3))
n = Application.Count(plage) 'nombre de valeurs
'---remplissage de la grille---
[C12:G200].Clear
For Each cel In [C12:G200]
1 i = i + 1
  v = Application.Large(plage, i) 'fonction GRANDE.VALEUR
  If i < n Then
    v1 = Application.Large(plage, i + 1)
    If v = v1 Then flag = True: GoTo 1 'si doublon
  End If
  Set ref = plage.Find(v, LookIn:=xlFormulas, LookAt:=xlWhole)
  ref.Copy cel 'copie de la cellule trouvée
  If flag Then 'traitement du doublon
    cel.FormatConditions.Delete 'suppression de la MFC
    cel.Interior.ColorIndex = 3 'couleur rouge
    flag = False
  End If
  cel.AddComment 'création du commentaire
  cel.Comment.Text ref.Offset(1).Text
  If i = n Then Exit For
Next
End Sub

A+
 

Pièces jointes

  • GrilleValeurs(1).xls
    30.5 KB · Affichages: 67

Celeda

XLDnaute Barbatruc
Re : Vba-ordre chronologique grille valeurs

Bonsoir,

olh la lalha , Job75, après avoir déclaré l'Amour au Vébéaiste Banzai64, je suis obligée!!!
mais obligée de te dire que OUI, toi aussi,

avec élégance, et pour toute la prestance qui te sied,

je ne sais comment t'exprimer ton mon AMOUR pour ces codes!!!!!
(c'est super aussi, comme quoi; les codes c'est un peu comme les femmes,
il y en a pour tous les goûts!! :cool:)

Si je pouvais vous rendre tout ce travail, je le ferais

Mais compte tenu de mon niveau, je ne vous donnerai, en ce jour exceptionnel, que mon Amour pour Excel et ce Forum. J'aimerai que ma modeste contribution sincère reste dans vos cœurs (Banzai64 et Job75).
 

job75

XLDnaute Barbatruc
Re : Vba-ordre chronologique grille valeurs

Bonjour le fil, le forum,

Merci Celeda et Banzai64 :)

Un complément concernant les doublons.

S'il y a doublon, le commentaire affiché correspond à la 1ère cellule trouvée.

On peut vouloir adapter le commentaire à cette situation, en faisant par exemple une liste.

Dans ce cas il faut passer en revue toutes les cellules de la base :

Code:
If flag Then 'traitement du doublon
    cel.FormatConditions.Delete 'suppression de la MFC
    cel.Interior.ColorIndex = 3 'couleur rouge
    v1 = "Doublons :"
    For Each ref In plage
      If ref = v Then v1 = v1 & Chr(10) & ref.Offset(1).Text
    Next
    cel.Comment.Text v1
    flag = False
End If
Version (2).

A+
 

Pièces jointes

  • GrilleValeurs(2).xls
    39 KB · Affichages: 54
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 186
dernier inscrit
Eliyass