introduire une fonction dans une macro

machoucha

XLDnaute Nouveau
salut tout le monde :)
Je souhaite que quelqu'un m'aide à résoudre le problème suivant:
j'ai une base de donnée ayant un certain nombre de ligne et colonne
-la colonne L présente taille et la colonne M présente le prix de vente
-Dans la colonne C (référence); j'ai certaines valeur qui ce répètent. je veux enlever les lignes ayant des doublons de valeur (références) dans la colonne C et calculer à chaque fois la moyenne de prix et la somme des tailles qui correspondent à ces lignes.
J'ai la macro suivante seulement je veux introduire uniquement la fonction moyenne (prix) et la fonction somme(taille) affectées aux lignes ayant les même valeur de la colonne C tout en gardant les autres cellules des autres colonnes (c.à.d. outres colonnes L et M )intacts (inchangés)

Sub Doub()
Dim X As Long
Dim Y As Long
Dim Flg_V As Boolean
For X = [A65536].End(xlUp).Row To 2 Step -1
For Y = X - 1 To 1 Step -1
If Range("C" & X) = Range("C" & Y) Then
Flg_V = True
Exit For
End If
Next Y
If Flg_V Then
Flg_V = False
Rows(X).Delete
End If
Next X
End Sub

Y'a t-il quelqu'un qui peut m'aider
j'en ai besoin, merci d'avance
 

machoucha

XLDnaute Nouveau
Re : introduire une fonction dans une macro

Tout d'abord, merci Pad01 de m'avoir répondu. Je vous envoie un exemple de ma base de donnée et je vous ré explique mon problème:
j'ai une base de donnée ayant un certain nombre de ligne et de colonne
-Je rectifie la colonne F présente taille et la colonne G présente le prix de vente
-Dans la colonne C (nommée référence); Je remarque bien qu'il existe des valeurs qui se répètent par dans C2 et C3 on a la valeur 34200 également C6, C7,C8 et C9 sont égales à 34278. Je souhaite éliminer les lignes doubles (par exemple éliminer la ligne L3 et je garde la ligne L2 telque le nouveau F2=F2+F3 (je fais la somme des tailles) et le nouveau G2= (G2+G3)/2 (je fais la moyenne des prix) ainsi de suite lorsque il existe des doublons. ainsi par exemple pour la ligne 2, j'obtiens
A2 =BST, B2=2007, C2=34200,D2=218,E2=V, F2=128+50, G2=(7.61+7.6)/2 et H2=828
J'ai la macro suivante seulement je veux introduire uniquement la fonction moyenne (prix) et la fonction somme(taille) afin de résoudre ce problème
Sub Doub()
Dim X As Long
Dim Y As Long
Dim Flg_V As Boolean
For X = [A65536].End(xlUp).Row To 2 Step -1
For Y = X - 1 To 1 Step -1
If Range("C" & X) = Range("C" & Y) Then
Flg_V = True
Exit For
End If
Next Y
If Flg_V Then
Flg_V = False
Rows(X).Delete
End If
Next X
End Sub

Merci d'avance
 

Pièces jointes

  • data exemple.xlsx
    12.5 KB · Affichages: 61

Discussions similaires

Réponses
2
Affichages
153
Réponses
1
Affichages
168

Statistiques des forums

Discussions
312 247
Messages
2 086 586
Membres
103 247
dernier inscrit
bottxok